log4j日志配置和使用
一、日志配置变量参数说明
1. 日志设置说明:
# log4j.rootLogger = debug,stdout,D,E
# 等号之后的值表示appender对象,每个apperder对象表示一个日志输出类型
# log4j.appender 之后的值是自定义的,表示输出的类型名称,具体的定义语法如下:
# log4j.appender.自定义的输出类型名.属性名=属性值
# 例如:log4j.appender.db 自定义输出类型名称为 db,如果db表示数据库 ,log4j.appender.db.url 表示数据库的url地址
# 目的地由后面的类决定:
# org.apache.log4j.ConsoleAppender 控制台
# org.apache.log4j.FileAppender 文件,文件路径及名称 若没有则自动创建
# 文件子类 org.apache.log4j.RollingFileAppender 按日志的大小滚动拆分日志文件
# 文件子类 org.apache.log4j.DailyRollingFileAppender 按一定的时间频率滚动拆分日志记录文件
# org.apache.log4j.jdbc.JDBCAppender 数据库
2. 输出到文件时的设置:
# log4j.appender.file 输出file是文件
# 常见属性有:
# log4j.appender.file.File 日志存储位置,例如:log4j.appender.E.File =D://WorkSpace/logs/error.log
# .Append 追加方式写入文件,默认为true
# .Threshold 写入的日志级别
# .layout 日志布局方式
# .conversionPattern 日志格式
# .ImmediateFlush true表示所有消息都会被立即输出,为false则不输出
# RollingFileAppender 类型还有下列参数:
# .maxFileSize 默认值是10MB,日志回滚最大值 例如:log4j.appender.FILE.MaxFileSize=1KB
# .maxBackupIndex 默认值是1,日志文件备份个数 例如:log4j.appender.FILE.MaxBackupIndex=1
# 说明:每个日志文件的最大值为1KB。最开始创建日志文件log.out,当超过日志文件最大值时,
# log.out.1新的日志文件将被创建。同时,log.out中的日志转移到log.out.1中(备份文件设置为1)。
# log.out日志文件永远写入最新日志
# DailyRollingFileAppender 类型还有下列参数:
# .DatePattern=‘.’yyyy-MM 每月 ‘.’yyyy-ww 每星期
# ‘.’yyyy-MM-dd 每天 ‘.’yyyy-MM-dd-a 每半天
# ‘.’yyyy-MM-dd-HH 每小时 ‘.’yyyy-MM-dd-HH-mm 每分钟
3. org.apache.log4j.db 输出到数据库
# 常见属性:
# .driver 设置驱动程序类为指定的字符串。如果没有指定驱动程序类,默认为sun.jdbc.odbc.JdbcOdbcDriver
# .url 设置JDBC URL
# .user 数据库用户名
# .password 数据库用密码
# .sql 指定SQL语句,在每次记录事件发生的时间执行。这可能是INSERT,UPDATE或DELETE 例如:INSERT INTO LOGS VALUES('%t','%d{yyyy-MM-dd}','%C','%p','%m')
# .bufferSize 设置缓冲区的大小。默认大小为1
# .layout 设置要使用的布局。默认布局org.apache.log4j.PatternLayout
二、配置示例
# 设置日志输出类型
log4j.rootLogger = debug,stdout,debug,error,db
# 输出信息到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
# 输出格式
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss, SSS} method:%l%n%m%n
# 输出 debug 级别以上的日志到D://sun//logs/error/debug.log
log4j.appender.debug = org.apache.log4j.RollingFileAppender
log4j.appender.debug.File = D://sun//logs/debug/debug.log
log4j.appender.debug.Append = true
log4j.appender.debug.Threshold = DEBUG
log4j.appender.debug.maxFileSize=10kb
log4j.appender.debug.maxBackupIndex=1
log4j.appender.debug.layout = org.apache.log4j.PatternLayout
# 打印 debug 信息格式
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
#输出 error 级别以上的日志到 D://sun//logs/error/error.log
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.File =D://sun//logs/error/error.log
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR
log4j.appender.error.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.error.layout = org.apache.log4j.PatternLayout
# 打印ERROR信息格式
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
#将日志保存到数据库
log4j.appender.DB=org.apache.log4j.jdbc.JDBCAppender
# url链接
log4j.appender.DB.URL=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
# 驱动
log4j.appender.DB.driver=com.mysql.cj.jdbc.Driver
# 用户名
log4j.appender.DB.user=root
# 密码
log4j.appender.DB.password=123456
# 日志插入数据库 %d 日期 %C 类名 %p 优先级 %m 日志信息
log4j.appender.DB.sql=INSERT INTO LOGS VALUES('%t','%d{yyyy-MM-dd HH:mm:ss}','%C','%p','%m')
# 日志布局方式
log4j.appender.DB.layout=org.apache.log4j.PatternLayout
log4j日志配置和使用的更多相关文章
- Log4J日志配置详解
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- (转)Log4J日志配置详解
http://www.cnblogs.com/ITtangtang/p/3926665.html 一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源 ...
- java Log4j日志配置详解大全
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- Spark log4j日志配置详解(转载)
一.spark job日志介绍 spark中提供了log4j的方式记录日志.可以在$SPARK_HOME/conf/下,将 log4j.properties.template 文件copy为 l ...
- Log4J日志配置详解[转]
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- Log4J日志配置与Juit测试
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器).Appenders(输出源)和Layouts(布局). 这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- log4j 日志配置和jar包下载
1.日志log4j文件配置 ${webapp.root}才是项目根目录log4j.appender.logfile.File= ${catalina.home}/log/filter.log 指生成日 ...
- tomcat 6.x + log4j日志配置并按天(或大小)生成文件
tomcat日志,默认路径在${catalina.home}/logs目录下,默认使用的是tomcat自己封装的logging工具类,默认配置文件使用的${catalina.home}/conf/ ...
- Log4J日志配置具体解释
一.Log4j简单介绍 Log4j有三个基本的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综 ...
- springboot 关于log4j日志配置
自动加载配置文件:(1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解.log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log ...
随机推荐
- 标准库模块——json模块
将Python数据类型转换为其他代码格式叫做(序列化),而json就是在各个代码实现转换的中间件. 序列化要求: 1. 只能有int,str,bool,list,dict,tuple的类型支持序列化. ...
- Maven - web 实例
版权所有,未经授权,禁止转载 章节 Maven – 简介 Maven – 工作原理 Maven – Repository(存储库) Maven – pom.xml 文件 Maven – 依赖管理 Ma ...
- Python说文解字_Python之多任务_03
问:线程学完了,现在我们开始学习进程了吧? 答:是的.前面说到线程就是我们的手,我们现在可以学习一下我们的“胳膊”了. 我们有了多线程,为什么还要学习多进程呢?这是因为在Python当中有一把GIL锁 ...
- ABP 切换mysql 数据库报错mysqlexception: incorrect string value: ‘\xe7\xae\x80\xe4\xbd\x93…’ for column display name
刚折腾了ABP框架,为了跨平台,将SQL Server数据库换成了MySQL数据库,ABP框架上支持多语言,中间被字符集折腾的够呛,翻了N个博客,最后终于在StackOverFlow 上找到了最终的解 ...
- codeigniter框架开发技巧
codeigniter框架开发技巧 来源:未知 时间:2014-10-20 11:36 阅读数:171 作者:xbdadmin [导读] (1)自动加载modelsphp5风格 使用这个 ...
- IO流处理文件读取到字节数组,再从字节数组读取到文件,Java实现
package cn.zhang.io; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; impo ...
- vue组件传值 part2
非父子组件传值 轻量级 视图层框架 复杂组件间传值,引进其他的工具或者设计模式 1.vuex 2.总线机制 //main line 1.在main.js中注册全局的bus Vue.prototype. ...
- Spring Cloud Alibaba 教程 | Nacos(六)
集群模式部署 前面我们已经学习了Nacos作为注册中心.配置中心的相关功能,但是我们之前启动Nacos是通过单实例模式启动的,只适合在学习和开发阶段,生产环境需要保证Nacos的高可用,所以今天我们来 ...
- C语言如何获得精确到毫秒的时间
在做测试或性能优化时,经常要知道程序运行的时间,在Linux系统可以使用time命令来计算程序运行运行所消耗的时间,能精确到毫秒,如果要精确到代码块或某个操作运行时所消耗的时间,time命令就不给力了 ...
- 产品对话 | 愿云原生不再只有Kubernete
从2013年,云原生(Cloud Native)的概念由 Pivotal 的 MattStine 首次提出,到现在,其技术细节不断得到社区的完善.云原生逐渐演变出包括 DevOps.持续交付.微服务. ...