Log4j日志文件的加载及应用

来源:互联网 发布:潘石屹 知乎 编辑:程序博客网 时间:2024/06/07 23:09

日志文件在记录一些关键操作时,还是很有必要的,比如说一些内部的关键操作,需要知道是谁?干了什么?怎么干的?是否是通过合法登陆的等等。

    日志文件的配置和写法非常简单,其实自己也可以写一个的,就是把一些操作的内容或需要写的东西以文件的方式存起来,简单的文件操作就可以完成日志的记录等。当然,有现成的不用那不是说我傻吗?Log4jLogforj)使用就非常简单。

Src目录下面建立Log4j.properties文件。固定的,改为其他名称不行。注意若你没使用struts2的框架,那么你就的在工程中导入log4jjar包。若使用了,那么struts2中已经给包含了log4jjar包,就不需要我们导入了。(我说的是在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 Loggerlog=Logger.getLogger(ManagerLoading.class);

ManagerLoading为当前类。

log.info(newDate().toString()+"管理员"+mana.getTruename()+"登陆了。。。");

在登陆成功的处理代码中加入这句(根据自己需要的写),就可以将日志记录下来了。保存的内容肯定是时间+管理员XXX登陆了。。。

    最后的日志文件保存在d\:/flowershop.html中,可查看!