一、Log4j简介

Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。

1、Loggers

Loggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。

这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR < FATAL

Log4j有一个规则:只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。

2、Appenders

禁用和使用日志请求只是Log4j的基本功能,Log4j日志系统还提供许多强大的功能,比如允许把日志输出到不同的地方,如控制台(Console)、文件(Files)等,可以根据天数或者文件大小产生新的文件,可以以流的形式发送到其它地方等等。常使用的类如下:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender   (文件)
org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件)
org.apache.log4j.RollingFileAppender      (文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender       (将日志信息以流格式发送到任意指定的地方)

配置日志信息的格式log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class1.org.apache.log4j.HTMLLayout    (以HTML表格形式布局),2.org.apache.log4j.PatternLayout  (可以灵活地指定布局模式),3.org.apache.log4j.SimpleLayout   (包含日志信息的级别和信息字符串),4.org.apache.log4j.TTCCLayout    (包含日志产生的时间、线程、类别等等信息)

日志信息格式中几个符号所代表的含义 -X号: X信息输出时左对齐; %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL, %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 %r: 输出自应用启动到输出该log信息耗费的毫秒数 %c: 输出日志信息所属的类目,通常就是所在类的全名 %t: 输出产生该日志事件的线程名 %l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10) %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 %%: 输出一个"%"字符 %F: 输出日志消息产生时所在的文件名称 %L: 输出代码中的行号 %m: 输出代码中指定的消息,产生的日志具体信息 %n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行

控制台选项Threshold=DEBUG:指定日志消息的输出最低层次。ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。Target=System.err:默认情况下是:System.out,指定输出控制台FileAppender 选项Threshold=DEBUF:指定日志消息的输出最低层次。ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。File=mylog.txt:指定消息输出到mylog.txt文件。Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

RollingFileAppender 选项Threshold=DEBUG:指定日志消息的输出最低层次。ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。File=mylog.txt:指定消息输出到mylog.txt文件。Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。MaxBackupIndex=2:指定可以产生的滚动文件的最大数。log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n

二、Log4j的配置方法

1、导入jar包把log4j-*.*jar放入CLASSPATH变量中

2、在源根目录下创建一个配置文件log4j.properties,放于resources文件下

3、配置如下

  一般 分为配置三个log,

    一个是保存文件log、

    一个是控制台输出、

    一个是自定义配置 

#配置根Logger ,自定义类名 stdout A2 (info 配置全局log等级为info)#一般定义两个,一个为保存文件的日志格式,一个为控制台输出的日志格式log4j.rootLogger=info,stdout,A2
# 1 保存文件的日志格式
log4j.appender.stdout=org.apache.log4j.DailyRollingFileAppender   #每天产生一个日志
log4j.appender.stdout.Threshold=info                              #输入日志的等级为 info
log4j.appender.stdout.File=/usr/local/tomcat3/logs/ifengSearch/ifengSearch.log    #输入日志的路径
log4j.appender.stdout.MaxFileSize=1000KB                          
log4j.appender.stdout.MaxBackupIndex=100
log4j.appender.stdout.Append=true                              #追加日志,true 追加到指定文件, false 覆盖内容
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout               #灵活布局log日志的格式
log4j.appender.stdout.layout.ConversionPattern=[%-5p][%d|%l] -- %m%n          #输入日志的 格式
log4j.appender.stdout.Encoding=UTF-8                             #输出日志的编码格式
# 2 控制台输出的日志格式
log4j.appender.A2=org.apache.log4j.ConsoleAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=[%-5p][%d|%l] -- %m%n
log4j.appender.A2.Encoding=UTF-8# 3 自定义的日志格式
log4j.logger.loginService = info,stdout,A2  #如在程序中使用自定义的字符串配置   private Logger log = Logger.getLogger("loginService");                            #这时候就会输出,安装配置的shdout、A2的格式输出

转载于:https://www.cnblogs.com/lemon-flm/p/7443945.html

日志log4j配置详情,日志log具体到你想不到相关推荐

  1. 在Tomcat 与weblogic 中的 日志(log4j) 配置系列三(log文件的存放路径)

    前言 前面一直在说,如何读取到log4j 的配置文件 log4j.properties. 接下来的探讨的是: log4j 里配置产生的log 文件的路径如何设置. tomcat 还好.拿复杂点的 we ...

  2. 在Tomcat 与weblogic 中的 日志(log4j) 配置系列二(weblogic 应用程序使用log4j)

    前言 在Tomcat 与weblogic 中的 日志(log4j) 配置系列一 在系列一 中, 有一个问题一直没有解决,就是部署到weblogic 中应用程序如何通过log4j写日志到文件中? 这里仅 ...

  3. 在Tomcat 与weblogic 中的 日志(log4j) 配置系列一

    前言 使用 spring 开发了一个web的项目. 使用log4j来记录日志. 开发完成后,打成.war 档,部署在Tomcat6 的服务器中, 是正常的: 但是部署到weblogic10.3.X.X ...

  4. linux 配置远程日志服务器配置,配置远程日志服务器—实现日志的集中管理

    一.server端配置 [root@keeplived_haproxy_mysql ~]# vim /etc/rsyslog.conf 去掉19和20行的#注释 19 $ModLoad imtcp 2 ...

  5. spring boot配置logback日志

    spring boot配置logback日志 在上一篇spring boot入门里提过,Spring Boot默认的日志打印是logback,所以配置logback日志会很简单,但是也有注意的地方. ...

  6. springboot日志配输出路径配置_SpringBoot日志配置详解

    前言 ​记录应用系统曰志主要有三个原因 记录操作轨迹.监控系统运行状况.回溯系统故障.记录操作行为及操作轨迹数据,可以数据化地分析用户偏好,有助于优化业务逻辑,为用户提供个性化的服务.例如,通过 ac ...

  7. MariaDB配置慢日志

    2019独角兽企业重金招聘Python工程师标准>>> MariaDB慢日志 为什么配置慢日志?配置慢日志是为了帮我们分析MariaDB的瓶颈点. 配置慢日志 进入MariaDB m ...

  8. php日志 monolog,Laravel 集成的 Monolog 库对日志进行配置和记录实例

    本文章为各位介绍一篇关于Laravel 集成的 Monolog 库对日志进行配置和记录的实例,具体的如下希望对各位吸帮助. 对于大型系统而言,日志是不可或缺的模块,Laravel自然也对日志提供了完善 ...

  9. ​​​​​​​Log日志级别从高到低排序和log4j配置

    说明:我们项目中没有加载,log日志有四个,大家可以在log4j文件中进行配置. 日志记录器(Logger)是日志处理的核心组件.log4j具有5种正常级别(Level).日志记录器(Logger)的 ...

最新文章

  1. Prometheus+Granfana
  2. java IO流文件的读写具体实例
  3. oracle pl/sql 函数
  4. 使用WeexSDK,网络请求信任证书的问题
  5. 我们未能完成您的购买_销售完成后,客户的消极情绪产生的原因及处理方法
  6. MYsql数据库误删mysql下的user内容,导致哪哪都不能登录
  7. 使用skin++进行MFC界面美化范例
  8. 后疫情时代:对话下一个 10 年的技术趋势
  9. 浅谈数据结构之顺序队列(五)
  10. linux服务器优化
  11. 高职院校汽车相关专业AEB测试套件及自动驾驶相关传感器介绍
  12. 【LaTeX】下载及安装步骤
  13. 高效 Windows 工作环境 Java 开发环境搭建
  14. word方框中打√符号的方法
  15. Len和lenB的区别
  16. 安装Imatest出现的bug及解决方案
  17. Simulink导出FMU方法
  18. mysql数据表关联_MySQL表关联的常用方式有哪几种
  19. 7z压缩文件及文件夹命令.
  20. 安川机器人编程加电弧_安川MOTOMAN焊接机器人编程

热门文章

  1. Div+CSS布局入门教程(一) 页面布局与规划
  2. 成交量与股价的关系图解
  3. Python《多线程并发爬虫》
  4. JAVA中ByteArrayInputStream和ByteArrayOutputStream详解
  5. nvm install node没反应_前端开发,你要懂得Node.js的安装和使用方法
  6. np.random中各随机采样函数一览
  7. The Illustrated Transformer (Transformer可视化解读自译笔记)
  8. Leetcode —— 886. 可能的二分法
  9. leetcode - 461. 汉明距离
  10. MyBatis框架 基本配置及运行原理