`
zhangxiang390
  • 浏览: 214458 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

log4j入门及properties文件配置

阅读更多

【log4j是什么?】
Log4j是一个开源的日志记录组件,其产品已经相当的成熟,且使用非常的广泛。在工程中以易用,方便等代替了 System.out 等打印语句。Log4j的目标是:它允许开发人员以任意的精细程度控制哪些日志说明被输出。通过使用外部的配置文件,可以在运行时配置它。

下面,我就从log4j的配置文件来具体讲述,log4j的功能,通过配置文件来学习新技术已是一个很好的学习方法。
Log4j有两个重要的概念:一是日志级别,其日志级别关系为:DEBUG<INFO<WARN<ERROR<FATAL ,高级别将显示低级别的日志;二是appender(也是输出目标),在这上的还有输出格式layout,其支持的输出目标包含:文件,控制台,数据库等,且支持一次指定多个输出目标。


Log4j的配置文件除了支持:*.properties 文件名,还支持运用十分广泛的xml文件。
下面的讲述中,我只通过*.properties文件来说明。
Log4j的属性文件的讲述
# 定义根日志,日志级别为info,输出目标为控制台,文件
log4j.rootLogger=INFO,A1,R
# 包com.liaowf日志,日志级别为DEBUG 输出目标为控制台,文件(注意,包com.liaowf下的所有类将自动拥有此日志属性)
log4j.logger.com.liaowf=DEBUG,A1,R
# 名称为IAMLogInfo日志,日志级别为INFO,输出目标为数据库(注意,所有使用IAMLogInfo作为名称的日志将拥用些日志属性)
log4j.logger.IAMLogInfo=INFO,DATABASE

# 类com.liaowf.console.connector.Synchro日志,日志级别为DEBUG,输出目标为控制台
log4j.logger.com.liaowf.console.connector.Synchro=DEBUG,A1,userSynR
# 类com.liaowf.console.authorization.dao.UserDao日志,级别为DEBUG,输出目标为文件
log4j.logger.com.liaowf.console.authorization.dao.UserDao=DEBUG,A1,userTelnet

# 配置TRUE
log4j.addivity.org.apache=true

# 定义控制台Appender
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n

# 输出到文件Appender
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=c:/iamSystem.log
log4j.appender.R.MaxFileSize=500KB
log4j.appender.R.MaxBackupIndex=1
#log4j.appender.R.layout=org.apache.log4j.HTMLLayout
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n


# JDBC 输出到数据库的Appender
#log4j.appender.DATABASE.Threshold=INFO
#log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.DATABASE.BufferSize=10
#log4j.appender.DATABASE.URL=jdbc:microsoft:sqlserver://10.170.88.4:1433;DatabaseName=iamconfig
#log4j.appender.DATABASE.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
#log4j.appender.DATABASE.user=iamconfig
#log4j.appender.DATABASE.password=iamconfig
#log4j.appender.DATABASE.sql=INSERT INTO wap_mail_jws_log VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m', '')
#log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout

# 输出到文件的appender
log4j.appender.userSynR=org.apache.log4j.RollingFileAppender
log4j.appender.userSynR.File=c:/iamSystem_userSynR.log
log4j.appender.userSynR.MaxFileSize=500KB
log4j.appender.userSynR.MaxBackupIndex=1
#log4j.appender.userSynR.layout=org.apache.log4j.HTMLLayout
log4j.appender.userSynR.layout=org.apache.log4j.PatternLayout
log4j.appender.userSynR.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

# 输出到文件Appender
log4j.appender.userTelnet=org.apache.log4j.RollingFileAppender
log4j.appender.userTelnet.File=c:/iamTelnet.log
log4j.appender.userTelnet.MaxFileSize=500KB
log4j.appender.userTelnet.MaxBackupIndex=1
#log4j.appender.userTelnet.layout=org.apache.log4j.HTMLLayout
log4j.appender.userTelnet.layout=org.apache.log4j.PatternLayout
log4j.appender.userTelnet.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

log4j倒底能提供我们什么功能,我们来总结一下:
1 根据我们设置的日志级别,控制日志的输出;
2 日志的输出支持自增式文件,控制台,数据库,还可以扩展;
3 日志的属性,当按"."命名有继承性,我们常使用类名来命名日志;



例子:

1 下载log4j的jar包;
2 编写一个log4j.properties 属性文件,放到你的源文件的根下;
3 在每一个需要记录日的类中,增加一个类成员
// 初始化日志处理类
static Logger logger = Logger.getLogger(类名.class.getName());

4 在你需要打日志信息的代码中,如下写出
//输出info信息
logger.info("some info msg");
//
输出 debug信息
If(logger.isDebugEnabled()) {
    logger.debug("");
}
//
输出 error信息
logger.error("some error msg");

分享到:
评论

相关推荐

    log4j入门到详解

    2.1 下载 log4j 的 jar 文件 2.2 编写一个测试类 ...... 2.3 编写配置文件........ 2.4 输出结果 ........... 3. Log4j 构成 ........... 4. Log4j 使用方法........ 4.1 properties 配置文件详解 4.2 XML 配置文件...

    log4j从入门到详解

    Log4j从入门到详解 目录 1. Log4j简介 2. 下载与使用 2.1下载log4j的jar文件 2.2 编写一个测试类 2.3 编写配置文件 2.4 输出结果 . 3. Log4j构成 4. Log4j使用方法 4.1 properties配置文件详解 4.2 XML配置...

    ice入门例子2

    这是继ice入门例子的第二个例子,主要讲述Ice.Application与配置文件的简单使用 所需jar在lib中 这个例子中集成了日志插件...日志产生的文件在log4j.properties配置中定死为D:/icelogs/文件夹中,你自己可以随意更改

    应用分析监控平台 闪电狗.zip

    闪电狗监控(flash-dog)起源于杭州斯凯网络科技有限公司一个真实项目,主要优点是轻巧快捷,非侵入式,不影响业务代码,只需加入几个jar包和修改log4j配置文件,就能监控任意指标,如CPU,内存、线程,游戏收入,...

    SpringBoot新手学习手册.pdf

    6.1使用log4j记录日志 9 6.2使用AOP统一处理Web请求日志 9 七、 缓存支持 9 7.1注解配置与EhCache使用 9 使用Redis做集中式缓存 9 八、 其他内容 9 8.1、使用@Scheduled创建定时任务 9 8.2、使用@Async实现...

    基于Spring+Struts+Mybatis的B2C电子商务网站系统源码+项目说明.zip

    - log4j.properties(存放的是日志的配置文件) - mybatis-config.xml(存放的是mybatis关于数据库的配置文件) Quick Start 直接csdn下载到本地: ``` 解压重命名为英文名 ``` 然后将项目直接用Maven项目导入...

    mybatis学习笔记

    1.6.4 第三步:log4j.properties 6 1.6.5 第四步:SqlMapConfig.xml 6 1.6.6 第五步:po类 7 1.6.7 第六步:程序编写 8 1.6.8 Mybatis解决jdbc编程的问题 15 1.6.9 与hibernate不同 16 2 Dao开发方法 16 2.1 需求 16...

    SpringBoot新手学习手册

    6.1使用log4j记录日志 30 6.2使用AOP统一处理Web请求日志 32 6.3Spring Boot集成lombok让代码更简洁 33 七、 缓存支持 35 7.1注解配置与EhCache使用 35 7.2使用Redis集成缓存 37 八、 热部署 37 8.1 什么是热...

    LibrarySystem:框架图书管理系统

    另外写的一个心理咨询预约系统也是基于ssm的比这个完善一些可以参考一下项目目录结构-Demo -src -项目主包 -controller -model -dao -service -web -WEB-INF -log4j.properties -spring-mybatis.xml -...

    springboot参考指南

    使用YAML或JSON配置Log4j2 vi. 67. 数据访问 i. 67.1. 配置一个数据源 ii. 67.2. 配置两个数据源 iii. 67.3. 使用Spring Data仓库 iv. 67.4. 从Spring配置分离@Entity定义 v. 67.5. 配置JPA属性 vi. 67.6. 使用...

    (2.0版本)自己写的struts2+hibernate+spring实例

    数据库连接配置文件是/s2sh/src/目录下面的jdbc.properties文件.直接配置即可. &lt;br&gt;以下是一些相关说明. &lt;br&gt; 数据库脚本 create table HUBO_USER ( ID VARCHAR2(32) not null, NAME VARCHAR...

    单点登录源码

    Log4J | 日志组件 | [http://logging.apache.org/log4j/1.2/](http://logging.apache.org/log4j/1.2/) Swagger2 | 接口测试框架 | [http://swagger.io/](http://swagger.io/) sequence | 分布式高效ID生产 | ...

Global site tag (gtag.js) - Google Analytics