解决log4j多个日志都写到一个文件

之前客户端程序由于Websockt包依赖的log4j,就用log4j写日志了,Web用的log4j2没毛病。用log4j的多个logger的日志都写到一个文件里了,查了很多资料都没解决。今天闲了解决一下。

最后好使的配置

javascript 复制代码
# 设置日志根
log4j.rootLogger = INFO,Exception,Debug
#  additivity的作用在于 children-logger是否使用 rootLogger的配置,默认是开启true
log4j.addivity.org.apache=false
# 输出到日志文件
log4j.logger.Exception=INFO,Exception
log4j.additivity.Exception = false
log4j.appender.Exception.encoding=UTF-8
log4j.appender.Exception = org.apache.log4j.DailyRollingFileAppender
log4j.appender.Exception.File = logs/Exception.log
log4j.appender.Exception.Append = true
log4j.appender.Exception.Threshold = INFO
log4j.appender.Exception.layout = org.apache.log4j.PatternLayout
log4j.appender.Exception.ImmediateFlush=true
log4j.appender.Exception.BufferedIO=false
log4j.appender.Exception.BufferSize=0  
log4j.appender.Exception.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ]  %m%n

log4j.logger.Debug=INFO,Debug
log4j.additivity.Debug = false
log4j.appender.Debug.encoding=UTF-8
log4j.appender.Debug = org.apache.log4j.DailyRollingFileAppender
log4j.appender.Debug.File = logs/Debug.log
log4j.appender.Debug.Append = true
log4j.appender.Debug.Threshold = INFO
log4j.appender.Debug.layout = org.apache.log4j.PatternLayout
log4j.appender.Debug.ImmediateFlush=true
log4j.appender.Debug.BufferedIO=false
log4j.appender.Debug.BufferSize=0  
log4j.appender.Debug.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ]  %m%n

关键点是logger第一位是日志级别

各种查资料和问了人工智能,那东西问常规的还行,稍微偏一点的问题就跟人工智障一样

log4j2采用滚动日志配置和限制每个日志文件的大小

写日志工具类

java 复制代码
package Monitor.Util;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 写日志工具类
 */
public class LogUtils {

    //调试日志
    static final Logger loggerDebug = LoggerFactory.getLogger("Debug");

    //异常日志
    static final Logger exceptionDebug = LoggerFactory.getLogger("Exception");


    /**
     * 书写调试日志
     * @param message 日志内容
     */
    public static void WriteDebugLog(String message)
    {
        loggerDebug.info(message);
    }

    /**
     * 书写异常日志
     * @param message 描述
     * @param exception 异常
     */
    public static void WriteExceptionLog(String message, Exception exception)
    {
        exceptionDebug.error(message, exception);
    }

}
相关推荐
s:1031 小时前
【框架】参考 Spring Security 安全框架设计出,轻量化高可扩展的身份认证与授权架构
java·开发语言
南山十一少4 小时前
Spring Security+JWT+Redis实现项目级前后端分离认证授权
java·spring·bootstrap
427724005 小时前
IDEA使用git不提示账号密码登录,而是输入token问题解决
java·git·intellij-idea
chengooooooo6 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
李长渊哦6 小时前
常用的 JVM 参数:配置与优化指南
java·jvm
计算机小白一个6 小时前
蓝桥杯 Java B 组之设计 LRU 缓存
java·算法·蓝桥杯
南宫生8 小时前
力扣每日一题【算法学习day.132】
java·学习·算法·leetcode
计算机毕设定制辅导-无忧学长9 小时前
Maven 基础环境搭建与配置(一)
java·maven
风与沙的较量丶10 小时前
Java中的局部变量和成员变量在内存中的位置
java·开发语言
m0_7482517210 小时前
SpringBoot3 升级介绍
java