用log4j如何使不同的类的日志输出到不同的日志文件中.

如题所述

第1个回答  2012-12-27
1.先看log4j的配置文件:
log4j.rootLogger=INFO,R,Client
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=./log/server.log
log4j.appender.R.MaxFileSize=5MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%5p] %d [%X{userName}] [%X{remoteIp}] %m%n
log4j.logger.Client=INFO,Client
log4j.additivity.Client = false
log4j.appender.Client=org.apache.log4j.RollingFileAppender
log4j.appender.Client.File=./log/client.log
log4j.appender.Client.MaxFileSize=5MB
log4j.appender.Client.MaxBackupIndex=10
log4j.appender.Client.layout=org.apache.log4j.PatternLayout
log4j.appender.Client.layout.ConversionPattern=[%5p] %d [%X{userName}] [%X{remoteIp}] %m%n
此日志文件分为两个日志文件.一个是给服务器程序记录日志,另一个是给客户端程序记录日志的.
红色部分是必须要加的.
log4j.additivity.Client = false 确保写入client.log文件信息不重复出现到server.log文件中.
log4j.logger.Client=INFO,Client 确保只对log4j的info信息感兴趣.
2.再看代码的初使化:
//加入log4j支持
static Logger logger =Logger.getLogger("Client");
3.最后运行要记录的类.
呵呵,轻松搞定.本回答被提问者采纳
第2个回答  2015-04-24
楼上的你哪来的“红色部分”?抄袭别人的至少也给个出处好吧:http://blog.csdn.net/bjseesea/article/details/5180610

log4j同时向多个文件打印log,怎么做
这种情况下,就需要debug、info、warn、error分别进行配置了。之后通过priority属性控制日志实际输出级别就可以。

log4j怎么将日志写到tomcat的日志文件中
修改 log4j.properties 文件: 把其中的(或者需要的) info 或者 error改成 all. 注意:日志会很多 例子: log4j.rootCategory=all,console log4j.logger.com.xxx.xxx = all

log4j中如何交替向2个文件中写入日志
限制文件大小,就会按这个大小,生成文件。log4j.appender.file=org.apache.log4j.DailyRollingFileAppender #每天输出一个新的日志文件 log4j.appender.file.File=c:\\\\logs\\\\log.log log4j.appender.file.MaxFileSize=2MB #每个文件最大容量,log4j.appender.file.MaxBackupIndex=20 #最大保存数量20,...

log4j 怎么将控制台输出的所有信息,写入日志文件?跪求!在线等候...
控制台输出 log4j.appender.appender2=org.apache.log4j.ConsoleAppender log4j.appender.appender2.layout=org.apache.log4j.PatternLayout 存放路径 log4j.appender.appender1.File=d:\/Log4JDemo02.logl 类:public class Test { private static Logger logger = Logger.getLogger(Test.class);public static...

log4j怎样控制只输出自己写的代码的日志,不输出框架中的日志
1、输出两次是因为你的mylog配置有误:log4j.appender.myLog.Target=System.out,你应该是要改成一个输出到一个文件吧,控制台已经有输出了。2、类名问题: private static Logger log = Logger.getLogger("myLog"); 这种写法也可以,你在输出项配置中直接写一个%c或%l试试,应该没有用Ant运行吧...

使用log4j如何采集多服务器的日志
1.log4j的配置文件支持System Property的环境变量的获取,如user home 2.通过ServletContext可以获取到集群中每个server name 3.在不同的server启动时将不同server name的加载到System Property 4.在配置文件中增加一个${WebAppClusterServer}的参数,拼合server_name+logfile_name 5.配置文件的定义:logpath=...

log4j怎么在springmvc中使用
禁用和使用日志请求只是Log4j的基本功能,Log4j日志系统还提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等。 常使用的类如下: org.apache.log4j.ConsoleAppender(控制台)org.apache.log4j.FileAppender(文件...

log4j2 怎么才能不打印第三方包日志到日志文件中
<logger name="com.*.*" level="error"> <AppenderRef ref="Console"\/> <appender-ref ref="RUNNING-LOG" \/> <appender-ref ref="ERROR-LOG" \/> <\/logger> 这种方式在本地启动控制台确实是不打印info的日志了,但是在日志文件中还是记录了 ...

如何log4j2结合slf4j使用,输出到单独文件
同样的配置文件用log4j就可以输出到日志文件,后来找到原因了是引用了bean-validator.jar里面的同包名类。改了jar包的优先引入顺序还是这样。删了bean-validator.jar就可以了。 电脑主机加液晶电视组合为电脑,在这种搭配中,电视机就相当于电脑.

如何配置SLF4J不同的日志实现
现在你可以在控制台(STDOUT)看见INFO级别的日志输出了。这个简单的logger会默认显示任何INFO或者更高级别的信息。想要看DEBUG级别的信息,你需要在Java启动时传入这个系统属性(system property)-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG 使用slf4j与Log4j日志 现在我们可以试验并更换不同的日志实现,但...

相似回答