logbak日志单独打印(方法层级)

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

logbak日志单独打印

问题

前几天朋友在群里问,怎么针对方法打印打印日志,不是针对类。

解决办法

方法层
   @GetMapping("getLog1")
    public String getLog1(){

        Logger specialLogger = LoggerFactory.getLogger(TestController.class.getName() + ".getLog1");
        specialLogger.info("Special log message for methodWithSpecialLogging");

        return "success";
    }

logback 配置文件
    <logger name="com.test.controller.TestController.getLog1" level="INFO">
        <appender-ref ref="getLog1" />
    </logger>


    <appender name="getLog1" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}/getLog.%d{yyyy-MM-dd-HH}.%i.log</fileNamePattern>
            <MaxHistory>10</MaxHistory>
            <maxFileSize>200MB</maxFileSize>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss:SSS} %-5level [%X{REQUEST_IP}][%X{TRACE_ID}][%thread][%file:%line] : %msg%n
            </pattern>
        </encoder>
    </appender>

这一步已经做到根据方法打印log日志,但是朋友的具体需求竟然是针对每调用一次方法,生成一个配置文件

直接在方法层实现

每调用一次,输出一份文件文章来源地址https://www.toymoban.com/news/detail-836492.html

  @GetMapping("getLog")
    public String getLog(){

        // 创建新的 Logger 实例
        Logger logger = LoggerFactory.getLogger(TestController.class);

        // 获取 Logger 的上下文
        ch.qos.logback.classic.Logger logbackLogger = (ch.qos.logback.classic.Logger) logger;
        ch.qos.logback.classic.LoggerContext loggerContext = logbackLogger.getLoggerContext();

        // 设置该 Logger 实例的 Appender,即日志输出到单独的文件中
        ch.qos.logback.core.FileAppender<ch.qos.logback.classic.spi.ILoggingEvent> fileAppender = new ch.qos.logback.core.FileAppender<>();
        fileAppender.setFile("path/getLog_" + System.currentTimeMillis() + ".log");
        fileAppender.setContext(loggerContext);
        fileAppender.start();

        // 将 Appender 添加到 Logger 实例中
        logbackLogger.addAppender(fileAppender);
        // 设置日志级别
        logbackLogger.setLevel(Level.INFO);

        // 输出日志
        logger.info("Special log message for methodWithSpecialLogging");

        return "success";

    }

到了这里,关于logbak日志单独打印(方法层级)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Spark Executor端日志打印的方法

    大数据平台采用yarn client模式提交spark 任务,并且多个离线Spark作业共用一个Driver,好处便在于——节省提交任务的时间。但同时也加大了运维工作的难度,因为任务日志打印到同一个文件中。 为了区分开各个业务流程的日志,平台引入了log4j2 RoutingAppender,配置如下所示:

    2023年04月22日
    浏览(37)
  • nginx打印请求头日志方法亲测可用(openresty)

    之前想用nginx打印收到的请求的请求头,但是只找到打印请求体的,没有打印请求头的,感觉原版nginx不支持。 建议如果想打印请求头,先换成openresty (本人安装的是openresty-1.21.4.1.tar.gz版本的) 网上有些文章的配置,本人试了后发现不行,各种报错,不知道为什么; 这个的配

    2024年02月04日
    浏览(38)
  • java项目使用log4jdbc打印sql日志

    场景: 项目开发中,为了方便调试和排查问题,需要打印sql日志,并且显示sql中占位符所代表的参数; 第一种:如果只需简单打印sql日志【一般使用】 第二种:需要打印详细的sql日志【建议使用】 第一步:导入maven依赖 第二步:修改yml配置文件 第三步:启动项目后执行s

    2024年02月12日
    浏览(42)
  • Java 面试题之 Logback 打印日志是如何获取当前方法名称的?

    在 Java 中,有四种方法可以获取当前正在执行方法体的方法名称,分别是: 使用 Thread.currentThread().getStackTrace() 方法 使用异常对象的 getStackTrace() 方法 使用匿名内部类的 getClass().getEnclosingMethod() 方法 Java 9 的 Stack-Walking API 本文将根据以上四种方法来给大家进行具体讲解,不过

    2024年02月05日
    浏览(43)
  • git--新建项目并推送到远程(gitlab等)--方法/实例

    原文网址:git--新建项目并推送到远程(gitlab等)--方法/实例_IT利刃出鞘的博客-CSDN博客 本文用实例介绍如何新建项目并推送到远程(gitlab等)。 本文的方法适用于所有远程服务,包括:gitlab、gitee、github。 (一般只推送到一个远程即可,本文为了展示,会介绍多种远程git仓库的操

    2023年04月08日
    浏览(53)
  • git 将本地已有的一个项目上传到新建的git仓库的方法

    将本地已有的一个非git项目上传到新建的git仓库的方法一共有两种 第一种方法比较简单,直接用把远程仓库拉到本地,然后再把自己本地的项目拷贝到仓库中去。然后push到远程仓库上去即可。 此方法适用于本地项目不是一个git仓库的情况。 具体步骤如下: 1、首先克隆 1

    2024年02月04日
    浏览(54)
  • 无条码商品新建商品档案,搭配蓝牙便携打印机移动打印条码标签

    null 无条码商品的商品档案新建,并打印条码标签,即可实现仓库条码管理,扫码入库,出库,盘点等操作。, 视频播放量 1、弹幕量 0、点赞数 0、投硬币枚数 0、收藏人数 0、转发人数 0, 视频作者 汉码盘点机PDA, 作者简介 ,相关视频:条码标签打印,蓝牙便携打印机的设置,

    2024年02月14日
    浏览(49)
  • 新版Android Studio火烈鸟 在新建项目工程时 无法选java的语言模板解决方法

    最近下载最新版androidstudio时 发现不能勾选java语言模板了 如果快速点击下一步 新建项目 默认是kotlin语言模板 这可能和google主推kt语言有关 如图所示 如果勾选 No Activity 这个模板 是可以选java语言模板的 但是里面没有默认的Activity 和以前的用法一样 可以勾选java语言模板 也有

    2024年02月11日
    浏览(49)
  • VS2022新建Qt项目出现“找不到 异常来自HERSULT:0x80030002“的解决方法

     Visual Studio 2022新建Qt Widgets Application 项目时出现 “找不到。异常来自HERSULT:80030002”。  打开VS,在顶栏找到 拓展 — 管理扩展    在已安装找到Qt VS Tools 点击卸载。(卸载完记得关闭所有VS窗口) 重启VS2022,还是点击扩展下的管理扩展 重新安装Qt VS Tools,安装完还是关闭

    2024年02月16日
    浏览(57)
  • 『踩坑记录』IDEA Spring initialzr新建Spring项目不能选择jdk8的解决方法

    Spring initializr新建Spring项目不能选低版本java 默认官方start.spring.io已不支持自动生成低版本jkd的Spring项目,自定义用阿里云的starter即可 用阿里云的就能支持低版本jdk了 欢迎关注我的CSDN博客 :@Ho1aAs 版权属于:Ho1aAs 本文链接:https://ho1aas.blog.csdn.net/article/details/134988225 版权声明

    2024年01月17日
    浏览(70)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包