log4j.properties的示例
log4j.rootLogger=DEBUG,A1,A2,A3,A4,A5,A6 # 应用于控制台 log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [INFO] %m%n # 应用于文件 log4j.appender.A2=org.apache.log4j.FileAppender log4j.appender.A2.File=${catalina.home}/webapps/testLog/logging.log log4j.appender.A2.Append=true log4j.appender.A2.layout=org.apache.log4j.PatternLayout log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [INFO] %m%n # 应用于文件回滚 log4j.appender.A3=org.apache.log4j.RollingFileAppender log4j.appender.A3.File=${catalina.home}/webapps/testLog/logging.log log4j.appender.A3.Append=true log4j.appender.A3.MaxFileSize=1000KB log4j.appender.A3.MaxBackupIndex=1 log4j.appender.A3.layout=org.apache.log4j.PatternLayout log4j.appender.A3.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [INFO] %m%n # 发送日志给邮件 log4j.appender.A4=org.apache.log4j.net.SMTPAppender log4j.appender.A4.BufferSize=10 log4j.appender.A4.From=发件箱地址 log4j.appender.A4.SMTPHost=SMTP服务器 log4j.appender.A4.Subject=邮件标题 log4j.appender.A4.To=收件箱地址 log4j.appender.A4.layout=org.apache.log4j.PatternLayout log4j.appender.A4.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [INFO] %m%n # 用于数据库 log4j.appender.A5=org.apache.log4j.jdbc.JDBCAppender log4j.appender.A5.URL=jdbc:mysql://localhost:3306/test log4j.appender.A5.driver=com.mysql.jdbc.Driver log4j.appender.A5.user=root log4j.appender.A5.password=root log4j.appender.A5.sql=INSERT INTO LOG4J (Message) VALUES ('%d{yyyy-MM-dd HH\:mm\:ss} [INFO] %m%n') log4j.appender.A5.layout=org.apache.log4j.PatternLayout log4j.appender.A5.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [INFO] %m%n # 应用每日生成一个日志文件 log4j.appender.A6=org.apache.log4j.DaliyRollingFileAppender log4j.appender.A6.File=${catalina.home}/webapps/testLog/logging.log log4j.appender.A6.DatePattern=yyyyMMdd-HH'.log' log4j.appender.A3.layout=org.apache.log4j.PatternLayout log4j.appender.A3.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} [INFO] %m%n
Log4j使用方法
一般log4j遵循以下3步
(1)载入配置文件
PropertyConfigurator.configure(getServletContext().getRealpath("WEB-INF/log4j.properties"));
(2)获得日志记录器
//取得日志记录器Logger,名字为本类的名字。
Logger logger = Logger.getLogger(this.getClass());
(3)利用日志记录器生成日志信息,当以上2个必要步骤执行完毕后,便可以轻松地使用不同优先级的日志记录语句插入想要记录日志的任何地方了。
logger.fatal("这是一条从TestServlet产生的fatal信息!");
logger.error("这是一条从TestServlet产生的error信息!");
logger.warn("这是一条从TestServlet产生的warn信息!");
logger.debug("这是一条从TestServlet产生的debug信息!");
logger.info("这是一条从TestServlet产生的info信息!");
在web.xml中配置使用
<servlet>
<servlet-name>InitLog4j</servlet-name>
<servlet-class>InitLog4j</servlet-class>
<init-param>
<param-name>log4j</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
在InitLog4j.java中载入
PropertyConfigurator.configure("");
在各处需要的地方调用
Logger logger = Logger.getLogger(this.getClass());
logger.info("这是一条从TestServlet产生的info信息!");