log4j--动态打印日志文件到指定文件夹

这篇具有很好参考价值的文章主要介绍了log4j--动态打印日志文件到指定文件夹。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

log4j–动态打印日志文件到指定文件夹

1、添加Maven依赖

<!-- log4j日志相关坐标 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.21</version>
		</dependency>
		<!-- 这里注意:如果是springBoot项目,不必再引入下边这个jar了,
        因为spring-boot-starter本身就已经引入这个jar了。以免造成jar包冲突 -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.7.21</version>
		</dependency>

2、配置文件 log4j.properties

log4j.rootLogger = debug,stdout,file

### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n

### 输出到日志文件 ###
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender

###设置DatePattern,当天日志保存到log.log文件,前一天的日志文件名将被修改为log.log + _yyyy-MM-dd.log
log4j.appender.file.File =D/logs/log.log
log4j.appender.file.DatePattern = '_'yyyy-MM-dd'.log'
log4j.appender.file.Append = true

## 输出DEBUG级别以上的日志
log4j.appender.file.Threshold = DEBUG
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

3、编写日志打印工具类 LogUtil

package com.example.loginfo;


import org.apache.log4j.DailyRollingFileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;

import java.io.File;


public class LogUtil {

    private static Logger logger;
    private static String filepath;

    public static void setLog(String path) {      //path:日志保存路径
        filepath = path;
        new File(filepath).mkdir();  //创建文件夹
    }

    public static void infoMsg(String filename, String msg) {       //filename:生成日志的文件名  msg:日志信息
        logger = Logger.getLogger("_" + filename);
        DailyRollingFileAppender appender = new DailyRollingFileAppender();
        appender.setFile(filepath + "/" + filename + ".log");
        appender.setDatePattern("'.'yyyy-MM-dd");
        PatternLayout layout = new PatternLayout("%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS}%c %m%n");
        appender.setLayout(layout);
        appender.setAppend(true);
        appender.activateOptions();
        logger.addAppender(appender);
        logger.setAdditivity(false);
        logger.setLevel(Level.INFO);
        logger.info(msg);
        appender.close();
    }

    public Logger getLogger() {
        return logger;
    }
}

4、工具类调用

package com.example.loginfo;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

@RestController
public class LogController {
    
    Logger logger = LoggerFactory.getLogger(LogController.class);

    @GetMapping(value = "/log")
    public void testLog() {
        LogUtil.setLog("E:\\home\\cuiyudong");
        List<Object> objects = new ArrayList<>();
        objects.add("FHIUFWIEU");
        objects.add("DASD");
        objects.add("FHIUCASFFGFWIEU");

        LogUtil.infoMsg("LogController日至信息:",objects.toString());
    }
}

测试结果:

log4j--动态打印日志文件到指定文件夹,log4j文章来源地址https://www.toymoban.com/news/detail-600199.html

到了这里,关于log4j--动态打印日志文件到指定文件夹的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • log4j控制台不打印日志的故障解决方案

    接管了别的项目组的一个代码,在IDAE调试程序的过程中,发现log4j日志居然没有打印在控制台上,日志相关代码也没有问题。 在网上搜索了一圈,总结了一下个人解决这个问题的流程。 1. 判断用了什么配置文件 不知道是出于什么目的,项目中居然有log4j的properties和xml两个配

    2024年02月04日
    浏览(71)
  • Java中的Log4j是什么?如何使用Log4j进行日志管理

    Log4j是一个Java日志管理工具,它可以帮助开发者在应用程序中记录日志。它是由Apache软件基金会开发和维护的,已经成为Java开发中最流行的日志管理框架之一。 Log4j可以通过多种方式记录日志,包括控制台输出、文件输出、数据库存储等。此外,Log4j还提供了多种日志级别,

    2024年02月04日
    浏览(56)
  • 【日志加载 log4j】

    2.编写配置 3.获取日志对象 4.1 Loggers 记录器 4.2 Appenders 输出源 4.3 Layouts 布局 5. 配置文件 log4j.properties

    2024年02月11日
    浏览(91)
  • log4j日志框架的使用

    log4j的配置文件可以理解成有2部分 1根日志记录器  2 各appender(输出源)配置 入口 loggerManager的静态代码块 在loggerManager的静态代码块中,完成对配置文件的读取和解析 然后组装成框架的Logger对象、appender对象完成初始化操作 当调用logger.info打印日志时,和logback的流程基本一样

    2024年02月04日
    浏览(61)
  • 用Log4j 2记录日志

    下面代码示例的maven工程中的pom.xml文件中需要增加对Log4j 2的依赖: 配置说明参考文档 https://logging.apache.org/log4j/2.x/manual/configuration.html 配置文件中pattern的详细说明 例如,下面配置文件片段中用到了pattern: pattern的详细说明请参考: https://logging.apache.org/log4j/2.x/manual/layouts.ht

    2024年02月14日
    浏览(97)
  • Log4j疯狂写日志问题排查

    最近有个 Java 系统上线后不久就收到了磁盘使用率告警,磁盘使用率已经超过了 90% 以上,并且磁盘使用率还在不停增长。 由于服务器磁盘被打满,导致了系统正常的业务日志无法继续打印,严重影响了系统的可靠性。 刚开始收到磁盘告警的时候,怀疑是日志级别问题,业务

    2024年02月13日
    浏览(69)
  • SpringCloud使用log4j日志框架教程

    上一篇文章我们介绍了《SpringCloud使用logback日志框架教程》,本文我们再来介绍下log4j2。 Log4j2是一款流行的Java日志框架,它提供了高度可配置的日志记录功能,支持多种不同的输出格式和目标,比如文件、控制台、数据库等等。Log4j2的设计目标是提供高性能、低延迟的日志

    2024年02月16日
    浏览(61)
  • Mybatis日志Log4j与Logback

    目录 一、Log4j与Logback的区别? 发展历史和维护 二、Slf4j 依赖 三、Logback使用 logback.xml配置文件 四、Log4j使用 五、查看日志内容 发展历史和维护 Log4j是最早的Java日志框架之一,具有较长的历史;然而Log4j 1.x版本在性能和并发性方面存在一些限制,并且已经停止维护。 Logbac

    2024年02月12日
    浏览(91)
  • Java 项目日志实例基础:Log4j

    点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~ 介绍几个日志使用方面的基础知识。 1 Log4j 1、Log4j 介绍 Log4j(log for java)是 Apache 的一个开源项目,通过使用 Log4j,我们可以控制日志信息输出到日志文件、也可以控制每一条日志的输出格式

    2024年02月12日
    浏览(52)
  • Java日志框架JUL、Log4j、logback、log4j2使用

    随着软件系统的发展系统业务越来越多、逻辑越来越复杂、代码量越来越多,伴随着容易出现的bug也会越来越多,不论是开发测试阶段还是生产阶段都需要将这些错误及时的捕捉记录下来,方便解决这些问题,否则针对出现的异常无从下手;此时就需要一些日志框架来完成这

    2024年02月15日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包