Log4j组件构成
Log4j由三个重要的组件构成:
1.日志信息的优先级(Logger)
2.日志信息的输出目的地(Appender)
3.日志信息的输出格式(Layout)。
概要:
日志信息的输出目的地指定了日志将打印到控制台还是文件中;
而输出格式则控制了日志信息的显示内容。
Log4j介绍
,通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。log4j–log for java (java的日志) .
Log4j配置文件的格式
Log4j支持两种配置文件格式:
1. XML格式的文件
2. properties格式的文件
也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。
Log4j定义配置文件
1.配置根Logger
其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
参数说明:
Off:最高等级,用于关闭所有日志记录
Fatal:指出每个严重的错误事件将会导致应用程序的退出。
Error:指出虽然发生错误事件,但仍然不影响系统的继续运行。
Warn:表明会出现潜在的错误情形
Info:一般用在粗粒度级别上,强调应用程序的运行全程
Debug:一般和在粗粒度级别上,强调应用程序的运行全程。
All:最低等级,用于打开所有日志记录。
appenderName就是指日志信息输出到哪个地方,可以同时指定多个输出目的地。
2.配置日志信息输出目的地Appender
其语法为:
log4j.appender.appenderName = fully.qualified.name.of.appender.classlog4j.appender.appenderName.option1 = value1…log4j.appender.appenderName.option = valueN
Log4j
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生新文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
3.配置日志信息的格式
语法为:
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.classlog4j.appender.appenderName.layout.option1 = value1 …log4j.appender.appenderName.layout.option = valueN
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),服务器空间,
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
%m输出代码中指定的消息
%c输出所属的类目,通常就是所在类的全名
%t输出产生该日志事件的线程名
%F:输出日志消息产生时所在的文件名称
%L:输出代码中的行号
可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。
如:
log4j.xml的配置方式
View Code
class
代码中使用Log4j
在类中使用log4j,首先声明一个静态变量Loggerlogger=Logger.getLog(“classname”).现在就可以使用了。
用法如下:logger.debug(“debugmessage”)或者logger.info(“infomessage”).
1.得到记录器
使用Log4j,香港虚拟主机,第一步就是获取日志记录器,这个记录器将负责控制日志信息。
其语法为:
publicstaticLoggergetLogger(Stringname)
通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如:
staticLoggerlogger=Logger.getLogger(ServerWithLog4j.class.getName())
2.读取配置文件
当获得了日志记录器之后,第二步将配置Log4j环境,其语法为:
3.插入记录信息(格式化日志信息)
当上两个必要步骤执行完毕,香港服务器,您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,语法如下:
Logger.debug(Objectmessage);
Logger.info(Objectmessage);
Logger.warn(Objectmessage);
Logger.error(Objectmessage);
程序演示
1.使用程序进行日志信息输出
也只有懂的接受自己的失败,才能更好的去发挥自身优势,也才能够更好的去实现自我