Java SSM log4j.properties文件配置,log4j输出日志文件带日期,log4j输出日期文件,log4j2的使用

前言

此处日志使用的是org.apache.log4j.Logger,框架SSM

如使用SpringBoot log4j2配置前往:https://blog.csdn.net/weixin_43992507/article/details/122967576

实现

log4j.properties文件的配置

# set log levels (INFO,DEBUG,Console,D,E)
log4j.rootLogger=DEBUG,Console,D,E

# Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# debug 输出到日志文件
log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File=../logs/project-name/log-
log4j.appender.D.DatePattern=yyyy-MM-dd'.log'
log4j.appender.D.Append=true
log4j.appender.D.Threshold=DEBUG
log4j.appender.D.layout=org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
#设置日志文件的大小
#log4j.appender.D.MaxFileSize=100M
#保存2个备份文件
#log4j.appender.D.MaxBackupIndex=2

# error 保存异常信息到单独文件
log4j.appender.E=org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File=../logs/project-name/error-
log4j.appender.E.DatePattern=yyyy-MM-dd'.log'
log4j.appender.E.Append=true
log4j.appender.E.Threshold=ERROR
log4j.appender.E.layout=org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern=[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
#设置日志文件的大小
#log4j.appender.E.MaxFileSize=100M
#保存2个备份文件
#log4j.appender.E.MaxBackupIndex=2

# mybatis SQL print
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.org.mybatis.example=DEBUG
log4j.logger.com.dao=DEBUG

说明:
1、控制台打印、debug信息输出文件、error信息输出文件、sql打印
2、信息输出文件已设置根据项目、日期创建
3、输出的文件当天看到为“log-”,当第二天后才会显示“log-2022-01-01.log”,本地调试需要改成后一天的日期

配置详细前往查看:https://blog.csdn.net/sun_luming/article/details/115244974

Java中使用

    @Transactional
    public Result insert(Integer id, String name) {
        try {

            // XXXXXX

            // {}替换符,log4j2和org.slf4j:slf4j-log4j12支持,log4j 1.2.17及以下不支持
            logger.debug("【添加成功】操作用户ID:[{}], 操作用户名称:[{}]", id, name);
            // log4j 1.2.17版本可以使用这种方式做替换(org.slf4j.helpers.MessageFormatter)
            //logger.debug(MessageFormatter.arrayFormat("【添加成功】操作用户ID:[{}], 操作用户名称:[{}]", id, name).getMessage());
            return Result.success();
        } catch (Exception e) {
        	// 不用捕获异常,可抛出异常进行全局异常处理(改成 @Transactional(rollbackFor = Exception.class) // 事务自动回滚)
            logger.error("【异常错误信息】:", e);
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();// 事务手动回滚
            return Result.fail();
        }
    }

slf4j-log4j12: 1.7.25依赖


<dependency>
    <groupId>org.slf4jgroupId>
    <artifactId>slf4j-log4j12artifactId>
    <version>1.7.25version>
    <scope>testscope>
dependency>

log4j2相关依赖

前往maven仓库获取:https://mvnrepository.com/search?q=log4j2

你可能感兴趣的:(后端,后端封装效果,Spring,java,apache,tomcat,spring)