有时当我看到我的日志代码时,我想知道我是否做得对.可能没有明确的答案,但我有以下问题:
图书馆课程
我有几个库类可能会记录一些INFO消息.致命错误报告为例外.目前我的类中有一个静态记录器实例,类名作为日志名称.(Log4j的:Logger.getLogger(MyClass.class))
这是正确的方法吗?也许这个库类的用户不希望我的实现发送任何消息,或者想要将它们重定向到特定于应用程序的日志.我应该允许用户从"外部世界"设置记录器吗?你如何处理这种情况?
一般日志
在某些应用程序中,我的类可能希望将日志消息写入未由类名称标识的特定日志.(即:) HTTP Request log这样做的最佳方法是什么?想到一个查找服务......
我log4j v1.2.14用于登录我的项目,我也使用Java 7 String.format()将变量放在我的输出中.目前我正在写作
LOGGER.info(String.format("Your var is [%s] and you are [%s]", myVar, myVar1));
Run Code Online (Sandbox Code Playgroud)
这真的是输出字符串的最佳方式吗?我觉得log4j应该隐式实现如下:
LOGGER.info("Your var is [%s] and you are [%s]", myVar, myVar1);
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?此外,是否有支持这种情况的Java日志框架?