日志文件在记录一些关键操作时,还是很有必要的,比如说一些内部的关键操作,需要知道是谁?干了什么?怎么干的?是否是通过合法登陆的等等。
Src目录下面建立Log4j.properties文件。固定的,改为其他名称不行。注意若你没使用struts2的框架,那么你就的在工程中导入log4j的jar包。若使用了,那么struts2中已经给包含了log4j的jar包,就不需要我们导入了。(我说的是在myeclipse下面右键添加的struts2支持)。
Log4j.properties文件的内容解释:
#第一部分:log4j.rootLogger,说明生成什么级别的日志及各Appender名称
#格式:log4j.rootLogger=日志的级别(6种),Appender列表(使用逗号分隔)
log4j.rootLogger=info,CONSOLE,FILE
#第二部分:log4j.appender,说明日志输出的目的地
#格式:log4j.appender.Appender名称=Log4j提供的Appender类
#格式:log4j.appender.Appender名称.选择名称=选项值
#第三部分:Layout,说明日志生成的格式
#格式:log4j.appender.Appender名称.layout=Log4j提供的Layout类
#格式:log4j.appender.Appender名称.layout.选择名称=选项值
# 应用于控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[Struts1.x] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[thread] n%c[CATEGORY]%n%m[MESSAGE]%n%n
#应用于文件
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=c\:/log.html
log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
#log4j.appender.FILE.layout.ConversionPattern=[Struts1.x] %d - %c -%-4r [%t] %-5p %c %x - %m%n
下面是一段真实的代码(故事):
Log4j.properties文件的内容:
log4j.rootLogger=info,CONSOLE,FILE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[Struts1.x] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=d\:/flowershop.html
log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout
网上花店记录管理员登陆的代码,在对应的action中加入以下代码就可以了:
public static Logger log=Logger.getLogger(ManagerLoading.class);
ManagerLoading为当前类。
log.info(new Date().toString()+"管理员"+mana.getTruename()+"登陆了。。。");
在登陆成功的处理代码中加入这句(根据自己需要的写),就可以将日志记录下来了。保存的内容肯定是时间+管理员XXX登陆了。。。