一、日志配置变量参数说明

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日志配置和使用的更多相关文章

  1. Log4J日志配置详解

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  2. (转)Log4J日志配置详解

    http://www.cnblogs.com/ITtangtang/p/3926665.html 一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源 ...

  3. java Log4j日志配置详解大全

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  4. Spark log4j日志配置详解(转载)

    一.spark job日志介绍    spark中提供了log4j的方式记录日志.可以在$SPARK_HOME/conf/下,将 log4j.properties.template 文件copy为 l ...

  5. Log4J日志配置详解[转]

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  6. Log4J日志配置与Juit测试

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器).Appenders(输出源)和Layouts(布局). 这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  7. log4j 日志配置和jar包下载

    1.日志log4j文件配置 ${webapp.root}才是项目根目录log4j.appender.logfile.File= ${catalina.home}/log/filter.log 指生成日 ...

  8. tomcat 6.x + log4j日志配置并按天(或大小)生成文件

      tomcat日志,默认路径在${catalina.home}/logs目录下,默认使用的是tomcat自己封装的logging工具类,默认配置文件使用的${catalina.home}/conf/ ...

  9. Log4J日志配置具体解释

    一.Log4j简单介绍 Log4j有三个基本的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综 ...

  10. springboot 关于log4j日志配置

    自动加载配置文件:(1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解.log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log ...

随机推荐

  1. C 的printf函数

    头文件 #include <stdio.h> printf函数是最常用的格式化输出函数,原型为:int printf(char *format,......); printf函数会根据参数 ...

  2. 关于mybatis的<selectKey>中的keyColumn

    <mapper namespace="com.dao.EmployeeDao"> <insert id="insert"> <se ...

  3. cf1208 D Restore Permutation (二分+树状数组)

    题意 让你构造一个长度为n的序列,记为p1……pn,(这个序列是1~n的全排列的一种) 给你n个数,记为s1……sn,si的值为p1……pi-1中小于pi的数的和. 思路 显然,应该倒着来,也就是从p ...

  4. 实验4&5

    [实验任务四]: 在上网时,我们经常会看到以下这种对话框,要用户输入一个验证码. 1.程序设计思想 先利用Math.random()得到一个整数,然后将其类型转换为字符类型,连接起来生成六位验证字符串 ...

  5. Python笔记_第五篇_Python数据分析基础教程_前言

    1. 前言: 本部分会讲解在Python环境下进行数值运算.以NumPy为核心,并讲解其他相关库的使用,诸如Matplotlib等绘图工具等. C.C++和Forttran等变成语言各有各的优势,但是 ...

  6. django 过滤器-查询集-比较运算符-FQ对象-mysql的命令窗口

    """ 返回查询集的方法称为过滤器 all() 返回查询集中所有数据 filter() 返回符合条件的数据 一.filter(键=值) 二.filter(键=值,键=值) ...

  7. centos7-vsftp(虚拟用户)

    要求如下: 1.所有用户主目录为/var/www宿主为virtual用户: 2.ftpuser1用户只能下载不能上传以及删除文件重命名操作: 3.ftpuser2可以下载与上传文件以及删除重命名操作: ...

  8. 把Android studio的日志导入目标文件中

    最好是在Android studio的命令行工具中进行命令操作. adb logcat -v time > /Users/z/log.txt adb logcat -v time > /U ...

  9. Linux系统相关命令

    时间和日期 date cal 磁盘和目录空间 df du 进程信息 ps top kill 01. 时间和日期 序号 命令 作用 01 date 查看系统时间 02 cal calendar 查看日历 ...

  10. Java开学测试感想

    开学第一堂课就是测试,测试暑假的自学成果,老师说试卷适当提高了难度,所以允许查书和使用网络查询,经过近三个钟头的努力奋斗和痛苦挣扎,我只完成了一小部分的代码,只有简单的set()get()函数,以及简 ...