第一步,导包。log4j-1.2.17.jar(导入WEB-INFO下的lib文件夹中);
第二步,配置web.xml文件
<!-- Log4j ConfigurationFile Location -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<!-- Spring Log4j Listener -->
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
第三步,配置配置文件(有两种,这实现一种较流行的)
log4j.properties
具体代码:
# Set The RootLogger
//这里配置优先级从高到低分别是ERROR>WARN>INFO>DEBUG和显示的类型分别是Console、html、txt等
log4j.rootLogger=info,html
# Direct Log Messages To Console
/*
**/
log4j.appender.console=org.apache.log4j.ConsoleAppender
//输出的目的地
log4j.appender.console.Target=System.out
/*
**/
log4j.appender.console.layout=org.apache.log4j.PatternLayout
//使用pattern布局就要指定的打印信息的具体格式
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %c:%L - %m%n
#html
log4j.appender.html=org.apache.log4j.RollingFileAppender
log4j.appender.html.File=I:/log/log.html
log4j.appender.html.MaxFileSize=900KB
log4j.appender.html.MaxBackupIndex=1
log4j.appender.html.layout=org.apache.log4j.HTMLLayout
log4j.appender.html.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
#\u6587\u672c\u6587\u4ef6\u8f93\u51fa\u6e90
log4j.appender.txt=org.apache.log4j.RollingFileAppender
log4j.appender.txt.File=I:/log/log.txt
log4j.appender.txt.MaxFileSize=500KB
log4j.appender.txt.MaxBackupIndex=1
log4j.appender.txt.layout=org.apache.log4j.PatternLayout
log4j.appender.txt.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
第四步
实现代码
static Logger logger = Logger.getLogger(QueryAllUsersAction.class.getName());//获得logger对象
private String num;//格式化的当前时间
private SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");//格式化时间
HttpServletRequest request = ServletActionContext.getRequest();//获得request对象
HttpSession session = request.getSession();//获得session对象
session.setAttribute("Username", list.get(0).getNickName());
session.setAttribute("name", list.get(0).getPower());
Date date=new Date();
num=dateformat.format(date);
logger.info("用户:"+list.get(0).getNickName()+"在"+num+"时登录");