Log4j Threshold属性指定输出等级

有时候我们需要把一些报错ERROR日志单独存到指定文件 ,这时候,Threshold属性就派上用场了;

Threshold属性可以指定日志level

Log4j根据日志信息的重要程度,分OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL

比如我们指定某个appender的Threshold为WARN,那这个appender输出的日志信息就是WARN级别以及WARN以上的级别;

假如我们指定的是ERROR,那这个就输出ERROR或者FATAL日志信息;

当然这里有个提前  rootLogger里配置的level比如小于Threshold层级  否则无效 还是按照总的rootLogger里的level来输出,一般我们实际实用的话 rootLogger里配置DEBUG,然后某个文件专门存储ERRO日志,就配置下Threshold为ERROR,这个就是我们的最佳实践,不要乱七八糟瞎配置;

我们给下参考配置:

log4j.rootLogger=DEBUG, Console ,DFile ,EFILE

#Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout=org.apache.log4j.TTCCLayout

#DEBUGFile

log4j.appender.DFile = org.apache.log4j.FileAppender

log4j.appender.DFile.File = C://DEBUG.log

log4j.appender.DFile.layout = org.apache.log4j.PatternLayout

log4j.appender.DFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

log4j.appender.DFile.Threshold = DEBUG

#ERRORFile

log4j.appender.EFILE = org.apache.log4j.FileAppender

log4j.appender.EFILE.File = C://ERROR.log

log4j.appender.EFILE.layout = org.apache.log4j.PatternLayout

log4j.appender.EFILE.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

log4j.appender.EFILE.Threshold = ERROR

rootLogger里配置DEBUG,

DFile的Threshold 配置为DEBUG

EFILE的Threshold 配置为ERROR 只输入ERROR信息;

ERROR.LOG只输出error信息;

时间: 2024-10-14 20:57:43

Log4j Threshold属性指定输出等级的相关文章

Log4j Append属性指定是否追加内容

Log4j默认是不断的把日志内容追加到日志文件: 这里就有个属性 Append 默认就是true: 假如我们设置成false 就不追加了 直接覆盖前面的内容: 我们来测试下: log4j.rootLogger=DEBUG, Console ,FIEL #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.TTCCLayout #

Log4j指定输出日志的文件

在Log4j的配置文件中,有一个log4j.rootLogger用于指定将何种等级的信息输出到哪些文件中, 这一项的配置情况如下: log4j.rootLogger=日志等级,输出目的地1,输出目的地2,... 日志等级可以是ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF,一般主要都是使用DEBUG, INFO, WARN, ERROR这四项. 指定日志等级后,可以指定日志输出的目的地,这个目的地可以是任意的符合命名规则的名字,给出这些名字后,会在后面对这些名

Log4J日志配置详解和自定义log4j日志级别及输出日志到不同文件实现方法

Log4J日志配置详解 一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders(输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置. 1.Loggers Loggers组件在此系统中被分为五个级别:DEBUG.INFO.WARN.ERROR和FATAL.这五个级别是有顺序的,DEBUG < INFO < WARN <

【Log4j】分包,分等级记录日志信息

在开发中我们经常会将不同包下的日志信息在不同的地方输出,以便于以后出问题能够直接在对应的文件中找到对应的信息! 例如:在spring+SpringMVC+mybatis的框架中,我们经常会将spring的日志输出在一个文件中,将mybatis中的信息输出在另一个文件中,这样debug时能够清晰准确的进行定位! 先普及一下Log4j的基础只是,log4j的日志等级大致可以分为4个等级 从小到大是 debug<info<warn<error 常用中用这四个即可 在log4j中大致可以分为3个

tomcat--catalina-daemon.out日志分割和输出等级控制

为了更加安全,生产环境中我更加青睐把tomcat 使用 jsvc 以守护进程的方式启动(daemon.sh ).这样tomcat自身将会生成另外一个日志文件(catalina-daemon.out),而不是之前的catalina.out.但是随之出现2个问题:1.catalina-daemon.out这个文件不会自动切割,而且会无线增大.2.catalina-daemon.out里面log输出等级无法更改,大量info信息占据了磁盘.为了针对这两个问题特意研究了一番,研究过程因功力尚浅所以并不专

输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)

/* A:90~100 B:80~89 C:70~79 D:60~69 E:0~60 */ #include <stdio.h> int main() { // 1.提示输入 printf("请输入分数值:\n"); // 2.接收输入 int score; scanf("%d", &score); // 3.判断等级 (性能最高) if (score>=90 && score<=100) { // [90, 100]

nokey属性(输出没有名称的数组)---精通android、IOS App应用服务程序开发

输出没有名称的数组 闭合的json格式内容 不需要 初始化Bag中的记录 同上一博(也可见下边完整代码相关部分) 输出Bag中的所有记录,不输出数组名称 <for bags=item end="@{item:getLength}"> <item list="@{item:getSuffix}" end="@{item:getLength}" nokey> <!-- list属性参数表示输出为数组列表格式,end属性参

Log4J 如何分开Logger输出

今天和两个同事讨论Log4j,他们都需要解决一个问题,怎么分开输出Logger.这么讲不清楚,举个例子: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package com.gmail.at.ankyhe.log4jtest; import org.apache.log4j.Logger; public class ClassA {          private static Logger logger =

C#中使用SelectionStart属性指定输入框光标位置

今天工作中遇到一个小BUG需要修改,需求为在文本框输入的过程中,如果数字是以0开头则自动消除0 如输入012,则显示12 很容易想到在textbox的text changed事件中判断,如果text是startwith 0,那么TrimStart('0') 但实际调试时发现,0是是去掉了,但光标会保留在最前面,那么用户依次输入012三个数字,界面会显示为21 查看资料后发现c#中控件属性SelectionStart可以指定光标位置,那么只需要在处理TrimStart('0')后加一句 textB