资讯专栏INFORMATION COLUMN

logback.xml日志写入数据库改造,重写源码手工读取yml参数作为数据源参数的方法

Airy / 731人阅读

摘要:需求实现日志写入数据库,并且关于数据库链接使用已有的数据源信息在改造如下将日志存储到数据库中日志输出级别正常上述部分需要设置数据源参数,类似但这部分内容实际上应用的主已经存在,所以想办法从已有的值去替换。所以采取修改源码的方式去解决。

需求:实现logback日志写入数据库,并且logback关于数据库链接使用yml已有的数据源信息
在logback.xml改造如下


     
            
         
     
     
    
        
        
     

正常上述appender部分需要设置数据源参数,类似
jdbc:oracle:thin:@XX:1521:orcl

            d  
            111111 

但这部分内容实际上应用的主yml已经存在,所以想办法从yml已有的值去替换。logback本身应该能获取yml 参数。
类似

 

但实验了很多次,未成功,不知道为何。所以采取修改DriverManagerConnectionSource源码的方式去解决。

查看源码发现下图设计的源码存在创建conn 的情况,所以已后面的代码形式去读取yml,数据库连接的相关参数即可。
两种代码都能解决。

//读取yml的方式1
            YamlPropertiesFactoryBean yamlMapFactoryBean = new YamlPropertiesFactoryBean();
            yamlMapFactoryBean.setResources(new ClassPathResource("application.yml"));
            Properties properties = yamlMapFactoryBean.getObject();
            String username1=properties.getProperty("spring.datasource.username");
                
                
            //读取yml的方式2
            ClassPathResource resource = new ClassPathResource("application.yml");
            InputStream inputStream = resource.getInputStream();
            Map map = null;
            Yaml yaml = new Yaml();
            map = (Map) yaml.load(inputStream);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73206.html

相关文章

  • 9、springcloud整合logback打印sql语句

    摘要:公众号乐园是由创始人设计的又一个开源日志组件。此外完整实现使你可以很方便地更换成其它日志系统如或。是要与结合起来用的。从控制台打印出来的日志级别只有还有。这里可以使用绝对路径如,会自动在盘下创建文件夹和相应的日志文件。 公众号 java乐园 Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core、logback- class...

    singerye 评论0 收藏0
  • SpringBoot 实战 (七) | 默认日志配置

    摘要:前言如题,今天介绍默认日志的配置。默认日志默认情况下,用来记录日志,并用级别输出到控制台。若要增加文件输出,需要在中配置或属性。后语以上默认日志的配置教程。 微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 如题,今天介绍 springboot 默认日志的配置。 默认日志 Logback 默认情况下,Spring Boot 用 Logback 来记录日...

    Dionysus_go 评论0 收藏0
  • logback简单使用

    摘要:的测试完全不同级别的。记录请求的级别在高于或等于其的有效级别时被称为被启用,否则,称为被禁用。该规则是的核心。指定名称,指定的全限定名。对记录事件进行格式化。查看当前活动文件的大小,如果超过指定大小会告知触发当前活动文件滚动。 一、logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件,官方网站: http://logback.qos.ch。 logback当...

    habren 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<