首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第三方jars创建日志文件

第三方jars创建日志文件
EN

Stack Overflow用户
提问于 2009-02-04 15:16:05
回答 2查看 2.2K关注 0票数 2

所以我们今天遇到了一个有趣的问题。我们有一个Java网络应用程序,它使用了一堆第三方的罐子。这包括Hibernate。

我们使用随SDK附带的Java日志api进行日志记录。通常,我们在日志记录方面非常薄弱,但是我们遇到了这个问题,我们使用log4j来创建自己的日志文件。它不仅从自己的代码中记录语句,甚至开始为hibernate代码编写调试,这导致批处理作业在短时间内记录了价值3GB的日志。

我对此有两个问题:

  1. 我需要修复这个日志问题(如果可能的话,我不希望退出或修改第三方jar中的log4j配置)。除了修改或拉出第三方jar中的log4j配置之外,还有一个很好的方法吗?还是通过我自己的log4j配置来覆盖第三方jar中的配置?我不喜欢这两种选择中的任何一种,但我想做最好的选择。
  2. ,我想问一问,期望第三方库能愉快地注销是否合乎情理?我觉得这设计很糟糕。我想了解社会对此的看法。--

我想要第三方库记录错误。尽管如此,我认为这个第三方jar从它负责的包中记录调试结果有点尴尬。例如,在我的例子中,这个第三方jar正在记录Hibernate调试,尽管它甚至没有调用任何hibernate方法。我们运行的批处理作业甚至没有在这个jar中调用API。看起来,拥有自己的log4j配置覆盖其中的内容似乎是最好的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-02-04 15:23:31

据我所知,您只需要在正在进行日志记录的JAR之前在类路径上提供您自己的log4j属性文件,然后将获取这个属性文件。回到内存的深处,Hibernate至少从其JAR的根中提取这一点,因此您不需要打包属性。

作为一个更广泛的问题,是的,我肯定希望我的库记录-否则,你怎么知道如果有什么问题,如果没有日志?

票数 1
EN

Stack Overflow用户

发布于 2009-02-04 15:23:01

如果它们使用的是log4j或另一个常用的日志框架,您可以通过在类路径中早先提供另一个lo4j.properties来覆盖它的配置。在我看来,第三方日志记录是一件好事,只要您可以轻松地配置您想要的日志记录级别,如果他们使用log4j,情况就是这样。配置日志系统来输出更少的信息总是比配置第三方代码来添加日志记录更容易!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/511777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档