Log4j.properties的路径为 src/config/log4j
Log4j.properties文件的内容 下面定义日志输出级别是 INFO,并且配置了2个输出目的地,一个是A3,一个是consolelog4j.rootLogger = INFO,A3,CONSOLE//日志最低的输出级别log4j.appender.A3.Threshold=INFOlog4j.appender.A3.encoding=UTF-8//每天产生一个文件DailyRollingFileAppender log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender//file 属性 指定产生日志文件的保存位置及文件名,这里是windows下的配置// c:/logtest/logtest.log,//公司项目在linux下的配置是/app/weblogic/applications/logs/sxvip_logslog4j.appender.A3.File=c:/logtest/logtest.log//当有日志时立即输出,默认是truelog4j.appender.A3.ImmediateFlush=truelog4j.appender.A3.DatePattern='_'yyyy-MM-dd//日志布局方式log4j.appender.A3.layout=org.apache.log4j.PatternLayout//日志文件中日志的格式log4j.appender.A3.layout.ConversionPattern=%-d{yyyy/MM/dd HH:mm:ss} OSS %-5p [%c] - %m%n//这里使用org.apache.log4j.ConsoleAppender指定要把日志输出到控制台log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.Threshold=INFO//输出目标是 控制台log4j.appender.CONSOLE.Target=System.outlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.ConversionPattern=%-d{yyyy/MM/dd HH:mm:ss} OSS %-5p [%c] - %m%n
在Web应用中web.xml利用Spring配置log4j
在web.xml中添加配置 下面使用了classpath 参数指定log4j.properties文件的位置,这样log4j的配置文件就不用非要放到src的下面使用spring的监听器,当应用启动时来读取log4j的配置文件 log4jConfigLocation classpath:config/log4j/log4j.properties org.springframework.web.util.Log4jConfigListener
在java中使用log4j
public class FUserAction extends ActionSupport{
private IfUserService ifUserService; private FUser user; private static final Logger log = Logger.getLogger(FUserAction.class); /* * 用户登录 * */ public String login(){ if(user==null) { log.info("请输入用户名和密码!"); return INPUT;} if(user.getName().equals("")||user.getPassword().equals(""))return INPUT; user=ifUserService.login(user.getName(),user.getPassword()); log.info("用户"+user.getName()+"登录成功!"); return SUCCESS; }
当应用启动时,这里就会根据log4j的配置(log4j.appender.A3.File=c:/logtest/logtestxxx.log)在c盘下产生日志文件
当在java类的main方法中测试时,不会在日志文件中添加日志信息