log4j参数化日志记录

时间:2011-12-22 14:24:56

标签: java logging log4j

我想开发一个简单的记录器,它将日志发送到服务器,其中存储所有日志并以图形等形式显示。

记录器必须参数化,因为开发的数据库给出了一种用于分析和显示存储日志的结构。

日志的参数使用重载方法实现,例如:

mylog.error(String jobname, String whatever);
mylog.error(String jobname, String whatever, List<String> whatever);

这是开发人员在需要时实现日志的方式。

我想知道我是否可以使用log4j这样的东西?

无论如何,我自己的简单日志工作正常,将json中的日志发送到我的服务器,存储它们等等。

2 个答案:

答案 0 :(得分:1)

这就是SLF4J的工作原理。使用SLF4J从应用程序中解除日志记录,您可以使用Log4J连接器将其用作底层实现。话虽这么说,SLF4J的创建者写Logback是SLF4J接口的理想实现。如果你没有在组织上与Log4J联系,我建议你使用它。

答案 1 :(得分:1)

有很多方法可以做到这一点。

我倾向于选择Mapped Diagnostic Context (MDC)(和comparison with NDC),虽然我编写了自己的格式化程序扩展名来显示它,因为我需要有序渲染。

其他框架具有类似的功能,但是映射方法允许一些很好的标题,这对于日志解析工具或面向数据库的日志记录很方便。