一.log4j.properties文件格式说明:
log4j.rootLogger=info, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
第一行,配置log4j.rootLogger你明白吧。应为它是根,等号后面的第一个参数表示日志级别,可以填五个级别中的一种,后面的参数都是让Log知道输出到哪里,如果你想让日志输出到两个地方就加两个输出参数,比如:
log4j.rootLogger=info, stdout, file
这里的info表示,该Log的日志级别为info,所有级别小于info的日志都不会被记录。比如使用这个配置文件的话,我刚开始举的那个类中
log.debug("Debug info.");
这句话是不起作用的,因为debug的级别小于info。这样就很容易控制什么信息在调试的时候要显示,什么信息在发布的时候要去掉。这些都不用改代码,很方便吧。
但,stdout和file又是什么呢?
接着往下看,就是配置stdout了,这个名字是随便取的,你可以叫它A:
log4j.appender.A=org.apache.log4j.ConsoleAppender
那么上面的rootLogger的参数stdout也要改成A,其他用到的地方当然也要改。这里的关键不是名字,而是appender类型,比如这里的“ConsoleAppender”,看明白了吧,输出到Console。后面两行都是设置日志格式的,一般情况下你就照抄吧。
二。配置方面:把log4j的包和commons-logging的包(加在一起才两个)放到classpath下面。然后把配置文件保存为log4j.properties,也放在classpath下面(如果用Eclipse的话,放在src目录下即可)。然后你就可以跑了。
log4j.rootLogger=DEBUG,CONSOLE,DATABASE,FILE log4j.addivity.org.apache=true # 应用于控制台 log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=INFO log4j.appender.CONSOLE.Target=System.out log4j.appender.CONSOLE.Encoding=GBK log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.conOut.layout.ConversionPattern=%d %-5p [%c] %m%n # 用于数据库 log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender log4j.appender.DATABASE.URL=jdbc:oracle:thin:@192.168.0.103:1521:ORCL log4j.appender.DATABASE.driver=oracle.jdbc.driver.OracleDriver log4j.appender.DATABASE.user=Nation log4j.appender.DATABASE.password=1 log4j.appender.CONSOLE.Threshold=WARN log4j.appender.DATABASE.sql=INSERT INTO LOG4J(stamp,thread, infolevel,class,messages) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m') # INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n') # 写入数据库中的表LOG4J的Message字段中,内容%d(日期)%c: 日志信息所在地(类名)%p: 日志信息级别%m: 产生的日志具体信息 %n: 输出日志信息换行 log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout log4j.appender.DATABASE.layout.ConversionPattern=%d %-5p [%c] %m%n # 每天新建日志 #(警告的意思是DailyRollingFileAppender这个类不带属性maxBackupIndex,maxFileSize的,它是#按日期来保存日志的,所以不需要设置该2个属性,如果想要设置日志文件的大小,可以使用#RollingFileAppender这个类,平时开发中日志配置文件中需要注意设置。) log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender log4j.appender.A1.File=./logs/cebLog.txt log4j.appender.A1.Encoding=GBK log4j.appender.A1.Threshold=DEBUG log4j.appender.A1.DatePattern='.'yyyy-MM-dd log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n #应用于文件 #(警告的意思是DailyRollingFileAppender这个类不带属性maxBackupIndex,maxFileSize的,它是#按日期来保存日志的,所以不需要设置该2个属性,如果想要设置日志文件的大小,可以使用#RollingFileAppender这个类,平时开发中日志配置文件中需要注意设置。) log4j.appender.File=org.apache.log4j.DailyRollingFileAppender log4j.appender.File.File=./logs/cebLog.txt log4j.appender.File.DatePattern='_'yyyy-MM-dd'.txt' #log4j.appender.File.MaxFileSize=100KB #log4j.appender.File.MaxBackupIndex=100 log4j.appender.File.layout=org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern=%d %t %-5p [%c] %m%n # 应用于文件回滚(即文件到达MaxFileSize就会产生一个新的文件,MaxBackupIndex是指文件的最大数目) log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender log4j.appender.ROLLING_FILE.Threshold=ERROR log4j.appender.ROLLING_FILE.File=rolling.log log4j.appender.ROLLING_FILE.Append=true log4j.appender.CONSOLE_FILE.Encoding=GBK log4j.appender.ROLLING_FILE.MaxFileSize=10KB log4j.appender.ROLLING_FILE.MaxBackupIndex=1 log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout log4j.appender.ROLLING_FILE.layout.ConversionPattern=%d %-5p [%c] %m%n #自定义Appender log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender log4j.appender.im.host = mail.cybercorlin.net log4j.appender.im.username = username log4j.appender.im.password = password log4j.appender.im.recipient = yyflyons@163.com log4j.appender.im.layout=org.apache.log4j.PatternLayout log4j.appender.im.layout.ConversionPattern =%d %-5p [%c] %m%n #应用于socket log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender log4j.appender.SOCKET.RemoteHost=localhost log4j.appender.SOCKET.Port=5001 log4j.appender.SOCKET.LocationInfo=true # Set up for Log Facter 5 log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n # Log Factor 5 Appender log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000 # 发送日志给邮件 log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender log4j.appender.MAIL.Threshold=FATAL log4j.appender.MAIL.BufferSize=10 log4j.appender.MAIL.From=yyflyons@163.com log4j.appender.MAIL.SMTPHost=www.wusetu.com log4j.appender.MAIL.Subject=Log4J Message log4j.appender.MAIL.To=yyflyons@126.com log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout log4j.appender.MAIL.layout.ConversionPattern=%d %-5p [%c] %m%n
main函数示例
import org.apache.log4j.Logger; /** *@ClassName:Test *@author: chenyoulong *@date :2012-7-18 下午5:08:42 *@Description:TODO */ public class Test { private static Logger log = Logger.getLogger(Test.class.getName()); //创建log实例 public static void main(String[] args) { log.error("测试"); //使用log } }
相关推荐
接下来,`log4j配置说明.txt`文件通常会提供更详细的解释和示例,包括如何配置不同的appender(如FileAppender、RollingFileAppender等),如何定义不同logger的级别,以及如何使用自定义的error handler和filter。...
tomcat6.0 配log4j日志的必须文件及配置过程 tomcat6-------lib | |--------tomcat-juli-adapters.jar | |--------log4j.jar | |--------log4j.properites | |----bin |--------tomcat-juli.jar 最后把log4...
Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...
5. **重启 Tomcat**:重启 Tomcat 后,相应的日志文件将按照 `log4j.properties` 文件中的设置生成。 **优点**:灵活性高,可以针对每个应用定制化日志配置;便于管理和追踪。 **总结**:根据项目的需求选择合适的...
logstash采集log4j日志发送到es配置文件,可以把日志根据日志级别区分开,一个级别一条日志是es中的一条数据
除了使用`log4j.properties`文件外,还可以通过XML文件来配置日志文件的路径。与`properties`文件类似,XML文件也支持变量的使用。 ##### 示例配置 ```xml <appender name="logfile" class="org.apache.log4j....
检查日志文件`/var/log/日志文件名.log`中是否正确写入了这条日志信息,从而确认配置无误。 通过上述步骤,我们可以有效地将log4j与syslog进行集成,实现更高效、更灵活的日志管理和分析。这不仅有助于提升系统的...
- `log4j.appender.file.File=d:\\logs\mylog.log`: 指定日志文件的路径为`d:\\logs\mylog.log`。 - `log4j.appender.file.layout`: 同样使用PatternLayout进行日志格式化。 - `log4j.appender.file.layout....
3. **日志文件配置** - `log4j.appender.filelog.File=your file dir`:指定日志文件的位置。 - `log4j.appender.filelog.MaxFileSize=your filesize`:设定单个文件的最大大小。 - `log4j.appender.mylog....
* org.apache.log4j.DailyRollingFileAppender:每天产生一个日志文件 * org.apache.log4j.RollingFileAppender:文件大小到达指定尺寸的时候产生一个新的文件 * org.apache.log4j.WriterAppender:将日志信息以流...
Log4j是一款广泛使用的日志记录框架,尤其在Java应用程序中。它提供了强大的日志管理功能,能够帮助开发者实现灵活的日志输出控制,方便调试、性能分析和问题追踪。本篇将详细介绍Log4j的配置文件及其常用属性,旨在...
log4j日志文件的JAR包及配置文件。 使用log4j日志文件的步骤: Step1:添加日志文件所需要的JAR包; Step2:添加日志的配置文件; Step3:创建日志对象,使用日志对象的方法记录日志。
- `log4j.appender.FILE.File=file.log`:指定日志文件名称为`file.log`。 - `log4j.appender.FILE.Append=false`:设置是否追加日志,默认不追加。 - `log4j.appender.FILE.layout=org.apache.log4j.PatternLayout`...
本文将详细讨论如何解决Log4j日志文件出现的乱码问题。 首先,我们要理解Log4j的工作原理。Log4j允许开发者自定义日志输出的方式,包括输出到控制台、文件、数据库等。它使用了`QuietWriter`类来写入日志,`...
上述配置中,`log4j.appender.FILE.File`指定了日志文件的路径,`${user.home}/logs/myapp.log`表示日志将被写入用户主目录下的logs文件夹中的myapp.log文件。通过改变这个路径,我们就能动态地改变日志输出的位置。...
log4j2配置文件,按照文件大小划分日志,保存日期天数内的日志,指纹日志命名规则,日志输出等级等功能
Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的配置选项,允许开发者灵活地控制日志输出。当我们面对特定项目需求,比如需要自定义日志文件名和日志输出格式时,Log4j同样提供了相应的解决方案。 首先...
每天生成一个log4j日志文件,如果只需要将最近一段时间内的日志文件保留,以前或更早的文件不用保留。例如只保留最近一周的日志,日志文件保留3天等等这些。。。通过这个jar包就可以实现。 log4j.properties文件在...
2. **使用DailyRollingFileAppender**:`DailyRollingFileAppender`是`log4j`提供的一种特殊Appender,它可以按照指定的时间间隔(通常是每天)滚动生成新的日志文件。我们可以通过以下配置设置每日滚动: ```...