Kai*_*ner 28 java logging log4j appender
我有一个包"com.example".这个包有五个类.我想将其中四个类记录到一个文件中,但排除第五个类.
我可以编写四个记录器,例如logger name ="com.example.Class1",并将相同的appender添加到所有四个记录器.有没有更简单的方法(让我们认为我有100个而不是5个班级)?
还有其他一些像这样的问题.但其他人只想排除一个类来记录这个类.这可以使用addivity标志来解决.但我认为可加性标志在这里不起作用,因为我不想记录第五类,而是所有其他类?!
希望有人可以帮帮我吗?
Joa*_*uer 31
只需将第五个类配置为使用日志级别OFF:
log4j.logger.com.example=INFO, MyAppender
log4j.logger.com.example.FifthClass=OFF
Run Code Online (Sandbox Code Playgroud)
其实我建议你不要把它设置为OFF,但是FATAL.ERROR甚至是WARN.
想要忽略来自某些类的日志记录的主要原因通常是它是否记录太多(超过有用并且难以读取日志).但是,大多数时候你仍然想知道某些事情是否真的错了.通过设置它ERROR你仍然可以看到真正有问题的案例,但不会被大量的INFO日志语句所困扰.
Sas*_*asa 13
(仅仅是为了完整答案)
您也可以尝试通过设置log4j.xml文件来实现.只需记录整个包,并以不同方式记录FifthClass.
<logger name="com.example">
<level value="INFO"/>
</logger>
<logger name="com.example.FifthClass">
<level value="FATAL"/>
</logger>
Run Code Online (Sandbox Code Playgroud)