0
A
回答
1
通常情况下,你必须每班记录器的设置,因为这是一个很好的逻辑组件。线程已经是日志消息的一部分(如果你的过滤器显示它们),那么以这种方式切分记录器可能是多余的。
关于基于应用程序或图层的记录器,问题是您必须找到一个位置来粘贴该记录器对象。没有什么大不了的。更大的问题是,某些类可能会在多个应用程序的多个层次上使用......可能很难让您的记录器正确。或者至少棘手。
...你想要的最后一件事是你的日志设置中的错误假设。
如果您关心应用程序和图层,并且有简单的分隔点,NDC就是您的选择。代码有时可能有点过分,但我不知道有多少次我通过精确的上下文堆栈保存,显示Foo.bar()是从Y层的应用程序X调用的。
策略最常用的是为每个类创建一个记录器。如果你创建新的线程给他们一个有用的名字,所以他们的日志很容易区分。
创建每班记录仪具有能够打开/关闭日志记录在你的类的封装结构的好处:
log4j.logger.org.apache = INFO
log4j.logger.com.example = DEBUG
log4j.logger.com.example.verbose = ERROR
上面将设置所有的Apache库代码INFO
水平,从登录交换机您自己的代码为DEBUG
级别,但详细软件包除外。
0
(a)中定义相同的类别getLogger()的所有调用:
// Create a logger per class:
static Logger log = Logger.getLogger(MyClass.class);
// Use the same logger for the whole application:
// use this line in all your classes:
static Logger log = Logger.getLogger("YourLogCategory");
HTH。
相关问题
- 1. 单点登录Web应用程序Java
- 2. Web应用程序自动登录
- 3. Web应用程序的登录安全
- 4. log4net从Web应用程序登录
- 5. 单一登录为Web应用程序
- 6. 登录Flex Web应用程序
- 7. Web应用程序登录系统
- 8. 一个在应用程序中登录的web应用程序
- 9. 区分应用程序登录和Web登录Firebase
- 10. 应用程序与Facebook登录登录
- 11. 登录Facebook应用程序
- 12. Android应用程序登录
- 13. Android应用程序登录
- 14. Iphone登录应用程序
- 15. Android登录应用程序
- 16. Facebook登录应用程序
- 17. Iphone登录应用程序
- 18. Android登录应用程序
- 19. Angular.js应用程序登录
- 20. 在asp.net web应用程序上使用WCF服务应用程序登录
- 21. 使用NetSuite凭证登录外部Web应用程序 - 单击登录| SuiteSignOn
- 22. 我的Web应用程序(使用Facebook登录)登录我出去
- 23. Silverlight 4应用程序和Web应用程序的单点登录
- 24. 安全Google Plus通过Android应用程序登录到Web应用程序
- 25. 安装iPhone应用程序登录到PHP Web应用程序后端
- 26. 从Android客户端应用程序登录到AppEngine Web应用程序
- 27. 通过编程防止登录到Web应用程序
- 28. 用于Web应用程序的Sql Server用户登录
- 29. Azure Web应用登录
- 30. 使用ASP.Net Web应用程序进行单点登录
谢谢你tomkani – venkiboss