log4j

整合log4j

 slf4j 核心jar  : slf4j-api-1.6.1.jar 。slf4j是日志框架,将其他优秀的日志第三方进行整合。

      slf4j------过度的jar-----log4j

 整合导入jar包

       log4j 核心包:log4j-1.2.17.jar

       过渡jar(整合jar):slf4j-log4j12-1.7.5.jar

  导入配置文件

       log4j.properties  ,此配置文件通知log4j 如何输出日志

  配置文件内容:

       1.记录器

       2.输出源

       3.布局

  记录器

       例如: log4j.rootLogger=info, stdout,file

       格式:log4j.rootLogger=日志级别, 输出源1,输出源2,。。。。

       log4j 日志级别 : fatal 致命错误 error 错误 warn 警告 info 信息 debug 调试信息 trace 堆栈信息 (由高到底顺序)

 输出源:

       例如:log4j.appender.file=org.apache.log4j.FileAppender

       格式:log4j.appender.输出源的名称=输出源的实现类

              名称:自定义

              实现类:log4j提供

       输出源属性例如:log4j.appender.file.File=d:mylog.log

       输出源属性格式:log4j.appender.名称.属性=值

              每一个输出源对应一个实现类,实现类都属性(setter),底层执行setter方法进行赋值

 常见的输出源实现类

       org.apache.log4j.FileAppender  输出文件中

              file ,表示文件输出位置

       org.apache.log4j.ConsoleAppender 输出到控制台

              Target ,表示使用哪种输出方式,在控制台打印内容,取值:System.out / System.err

 布局  -- 确定输出格式

       例如:log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

       格式:log4j.appender.数据源.layout=org.apache.log4j.PatternLayout

       布局属性:log4j.appender. 数据源.layout.ConversionPattern=值

              12:56:30,123  info

 扩展:对指定的目录设置日志级别

       例如:log4j.logger.org.hibernate.transaction=debug

       格式:log4j.logger.包结构=级别

#
# Hibernate, Relational Persistence for Idiomatic Java
#
# License: GNU Lesser General Public License (LGPL), version 2.1 or later.
# See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
#

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender   //表示在控制台输出信息
log4j.appender.stdout.Target=System.out//表示在输出方式out/err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  //布局  确定输出格式
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n   //部署属性,  数据源值


### direct messages to file hibernate.log ### #log4j.appender.file=org.apache.log4j.FileAppender //表示文件输出信息 #log4j.appender.file.File=hibernate.log #log4j.appender.file.layout=org.apache.log4j.PatternLayout #log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ### log4j.rootLogger=warn, stdout #log4j.logger.org.hibernate=info log4j.logger.org.hibernate=debug ### log HQL query parser activity #log4j.logger.org.hibernate.hql.ast.AST=debug ### log just the SQL #log4j.logger.org.hibernate.SQL=debug ### log JDBC bind parameters ### log4j.logger.org.hibernate.type=info #log4j.logger.org.hibernate.type=debug ### log schema export/update ### log4j.logger.org.hibernate.tool.hbm2ddl=debug ### log HQL parse trees #log4j.logger.org.hibernate.hql=debug ### log cache activity ### #log4j.logger.org.hibernate.cache=debug ### log transaction activity #log4j.logger.org.hibernate.transaction=debug ### log JDBC resource acquisition #log4j.logger.org.hibernate.jdbc=debug ### enable the following line if you want to track down connection ### ### leakages when using DriverManagerConnectionProvider ### #log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace  

部署属性值

如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:
%m 输出代码中指定的消息;
%M 输出打印该条日志的方法名;
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL;
%r 输出自应用启动到输出该log信息耗费的毫秒数;
%c 输出所属的类目,通常就是所在类的全名;
%t 输出产生该日志事件的线程名;
%n 输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”;
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2002-10-18 22:10:28,921;
%l 输出日志事件的发生位置,及在代码中的行数;

  

原文地址:https://www.cnblogs.com/fjkgrbk/p/log4j.html