日志log4j配置详情,日志log具体到你想不到
一、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具体到你想不到相关推荐
- 在Tomcat 与weblogic 中的 日志(log4j) 配置系列三(log文件的存放路径)
前言 前面一直在说,如何读取到log4j 的配置文件 log4j.properties. 接下来的探讨的是: log4j 里配置产生的log 文件的路径如何设置. tomcat 还好.拿复杂点的 we ...
- 在Tomcat 与weblogic 中的 日志(log4j) 配置系列二(weblogic 应用程序使用log4j)
前言 在Tomcat 与weblogic 中的 日志(log4j) 配置系列一 在系列一 中, 有一个问题一直没有解决,就是部署到weblogic 中应用程序如何通过log4j写日志到文件中? 这里仅 ...
- 在Tomcat 与weblogic 中的 日志(log4j) 配置系列一
前言 使用 spring 开发了一个web的项目. 使用log4j来记录日志. 开发完成后,打成.war 档,部署在Tomcat6 的服务器中, 是正常的: 但是部署到weblogic10.3.X.X ...
- linux 配置远程日志服务器配置,配置远程日志服务器—实现日志的集中管理
一.server端配置 [root@keeplived_haproxy_mysql ~]# vim /etc/rsyslog.conf 去掉19和20行的#注释 19 $ModLoad imtcp 2 ...
- spring boot配置logback日志
spring boot配置logback日志 在上一篇spring boot入门里提过,Spring Boot默认的日志打印是logback,所以配置logback日志会很简单,但是也有注意的地方. ...
- springboot日志配输出路径配置_SpringBoot日志配置详解
前言 记录应用系统曰志主要有三个原因 记录操作轨迹.监控系统运行状况.回溯系统故障.记录操作行为及操作轨迹数据,可以数据化地分析用户偏好,有助于优化业务逻辑,为用户提供个性化的服务.例如,通过 ac ...
- MariaDB配置慢日志
2019独角兽企业重金招聘Python工程师标准>>> MariaDB慢日志 为什么配置慢日志?配置慢日志是为了帮我们分析MariaDB的瓶颈点. 配置慢日志 进入MariaDB m ...
- php日志 monolog,Laravel 集成的 Monolog 库对日志进行配置和记录实例
本文章为各位介绍一篇关于Laravel 集成的 Monolog 库对日志进行配置和记录的实例,具体的如下希望对各位吸帮助. 对于大型系统而言,日志是不可或缺的模块,Laravel自然也对日志提供了完善 ...
- Log日志级别从高到低排序和log4j配置
说明:我们项目中没有加载,log日志有四个,大家可以在log4j文件中进行配置. 日志记录器(Logger)是日志处理的核心组件.log4j具有5种正常级别(Level).日志记录器(Logger)的 ...
最新文章
- Prometheus+Granfana
- java IO流文件的读写具体实例
- oracle pl/sql 函数
- 使用WeexSDK,网络请求信任证书的问题
- 我们未能完成您的购买_销售完成后,客户的消极情绪产生的原因及处理方法
- MYsql数据库误删mysql下的user内容,导致哪哪都不能登录
- 使用skin++进行MFC界面美化范例
- 后疫情时代:对话下一个 10 年的技术趋势
- 浅谈数据结构之顺序队列(五)
- linux服务器优化
- 高职院校汽车相关专业AEB测试套件及自动驾驶相关传感器介绍
- 【LaTeX】下载及安装步骤
- 高效 Windows 工作环境 Java 开发环境搭建
- word方框中打√符号的方法
- Len和lenB的区别
- 安装Imatest出现的bug及解决方案
- Simulink导出FMU方法
- mysql数据表关联_MySQL表关联的常用方式有哪几种
- 7z压缩文件及文件夹命令.
- 安川机器人编程加电弧_安川MOTOMAN焊接机器人编程
热门文章
- Div+CSS布局入门教程(一) 页面布局与规划
- 成交量与股价的关系图解
- Python《多线程并发爬虫》
- JAVA中ByteArrayInputStream和ByteArrayOutputStream详解
- nvm install node没反应_前端开发,你要懂得Node.js的安装和使用方法
- np.random中各随机采样函数一览
- The Illustrated Transformer (Transformer可视化解读自译笔记)
- Leetcode —— 886. 可能的二分法
- leetcode - 461. 汉明距离
- MyBatis框架 基本配置及运行原理