我的应用程序正在Jboss As 7 server
中运行。我想将日志级别为me.test.ClassA
的类(例如CDR
)中的所有日志与特定日志文件(例如cdr.log
)隔离开来。
我如何在jboss As 7
中实现这一目标。我知道使用log4j.xml
这是可能的。但是我想使用standalone.xml
以便我可以在运行时更改日志级别。
提前致谢。
答案 0 :(得分:0)
您无法根据自定义级别分隔日志消息。您可以使用已知级别和/或记录器名称。
假设在me.test.ClassA
中,您通过Logger.getLogger(me.test.ClassA.class)
获得了一个记录器,或者您最终获得了一个名为me.test.ClassA
的记录器,您可以定义该记录器以写入特定的处理程序。 / p>
用于添加文件处理程序的CLI示例:
/subsystem=logging/file-handler=cdr:add(append=true,autoflush=true,file={"relative-to"=>"jboss.server.log.dir","path"=>"cdr.log"})
创建记录器
/subsystem=logging/logger=me.test.ClassA:add(level=INFO,handlers=["cdr"])
这会将所有日志消息从使用名称me.test.ClassA
创建的记录器发送到文件cdr.log
以及server.log
文件和控制台。如果您不希望将消息发送到server.log
和控制台,则在记录器的添加操作中添加属性use-parent-handlers=false