Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用log4j1.2-2桥,可以动态配置日志设置吗?

使用log4j1.2-2桥,可以动态配置日志设置吗?
EN

Stack Overflow用户
提问于 2022-01-25 11:31:33
回答 1查看 526关注 0票数 1

我们使用log4j1到log4j2桥,

log4j-1.2-api-2.17.1.jar

我们的代码使用PropertyConfigu

代码语言:javascript
运行
AI代码解释
复制
System.getProperty( "appserver.Name" );
System.setProperty( "appserver.Name", "/usr/local/logs/server3" );
l4jprops.put( "appserver.Name", "/usr/local/logs/server3" );    

            
PropertyConfigurator.configure( l4jprops );
logger = Logger.getLogger(PfsSystemPropertiesServlet.class.getName());

下面是一个示例log4j设置。

代码语言:javascript
运行
AI代码解释
复制
log4j.appender.AuthAppender.File=${appserver.Name}/log4j_api_auth.log
log4j.appender.AuthAppender.DatePattern='.'yyyy-MM-dd

这看起来并不像我们想要的那样编写日志,我们如何才能让这段代码与桥一起工作。那个班有空位。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-25 11:56:18

在Log4j 2.17.1之前,PropertyConfigurator一直是个无名小卒.这将在即将发布的版本(cf )中发生变化。源代码):您的代码应该在没有任何更改的情况下运行()。

为了测试新版本,添加快照存储库

代码语言:javascript
运行
AI代码解释
复制
<repositories>
  <repository>
    <id>apache.snapshots</id>
    <name>Apache Snapshot Repository</name>
    <url>https://repository.apache.org/snapshots</url>
    <releases>
      <enabled>false</enabled>
    </releases>
  </repository>
</repositories>

并将log4j-1.2-api的版本设置为2.17.2-SNAPSHOT

代码语言:javascript
运行
AI代码解释
复制
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-1.2-api</artifactId>
    <version>2.17.2-SNAPSHOT</version>
</dependency>

编辑:如果您不能使用快照或等待下一个版本的发布,PropertyConfigurator的行为可以模拟如下:

代码语言:javascript
运行
AI代码解释
复制
import org.apache.log4j.config.PropertiesConfiguration;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.ConfigurationSource;
import org.apache.logging.log4j.core.config.Configurator;
import org.apache.logging.log4j.core.config.NullConfiguration;

// PropertiesConfiguration only accepts an InputStream in 2.17.1
final ByteArrayOutputStream os = new ByteArrayOutputStream();
l4jprops.save(os, null);
final InputStream is = new ByteArrayInputStream(os.toByteArray());
// Initialize to prevent automatic configuration.
Configurator.initialize(new NullConfiguration());
final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
final Configuration config = new PropertiesConfiguration(ctx, new ConfigurationSource(is), 0);
Configurator.reconfigure(config);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70854599

复制
相关文章
分布式配置中心怎么设置?分布式配置中心可以自己设置吗?
分布式配置中心对于大多数企业和公司来说是一种能够提升工作效率的有力帮手,但是如果想使用分布式配置中心的话,还需要具备一定的技术能力才可以,那么分布式配置中心怎么设置呢?下面为大家简单介绍分布式配置中心怎么设置的相关内容。
用户8715145
2022/03/10
5360
项目端口可以设置为 6666 吗?
读万卷书,行万里路!有的技能可以从书里学会,有的技能却需要在实战中打怪升级慢慢掌握,今天就来和大家聊一个很多小伙伴经常遇到的问题。
江南一点雨
2020/07/29
2K0
项目端口可以设置为 6666 吗?
SpringBoot 动态设置 logback 日志的级别
SpringBoot 默认采用 Logback 日志作为记录日志的框架。在项目中,一般分为 dev 环境(开发环境)、test环境(测试环境)和 prd 环境(生产环境)。而一般开发环境和测试环境可以把日志级别设置成 info 级别,方便在联调与测试中解决遇到的bug,但是生产环境因为存在大量的业务,如果采用 info 级别的日志, 那么每一笔交易或者业务都打印大量的日志。这样的花需要大量的磁盘空间来保存日志。如果日志需要保存一年半载,或者有些业务场景,例如财务数据的日志需要保存更久。将给公司造成很大的财务浪费。今天分享一个小方案,动态改变日志的级别,方便在生产环境也能方便快捷的从 warn 或者 error 级别切换到 debug 或者 info 级别。
BUG弄潮儿
2021/05/17
1.4K0
SpringBoot 动态设置 logback 日志的级别
java缓存设置_缓存数据可以清除吗
1、@Cacheable(key = “#vo.toString()”, value=”licence”) //载入缓存
全栈程序员站长
2022/11/09
1.6K0
基于 Nacos 配置中心的动态日志配置方案
上面这两篇文章只是从技术角度说了,可以实现动态日志配置。但是并没有形成适用生产环境使用的方案。今天介绍一种基于 Nacos 配置中心的动态配置日志级别的方案。
BUG弄潮儿
2021/06/25
2.6K0
基于 Nacos 配置中心的动态日志配置方案
Spring Boot 系列:日志动态配置详解
不知道大家有没有过当线上出现问题的时候,需要某些DEBUG日志,但奈何当前使用时INFO。
用户5546570
2020/10/27
2K0
Spring Boot 系列:日志动态配置详解
kvm 网卡桥接设置
桥接设置相当于将br0作为交换机,eth/ens以及kvm作为主机连接到br0上。 /etc/sysconfig/network-scripts/ifcfg-br0
Laikee
2022/04/25
1.2K0
设置时区定位可以关闭吗_监控时区设置是什么意思
这个时区要设置好,不然会出现时差, 如果你设置serverTimezone=UTC,连接不报错, 但是我们在用java代码插入到数据库时间的时候却出现了问题。 比如在java代码里面插入的时间为:2021-06-24 17:29:56 但是在数据库里面显示的时间却为:2021-06-24 09:29:56 有了8个小时的时差 UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。
全栈程序员站长
2022/11/09
1.2K0
pycharm使用anaconda环境可以直接导入包吗_anaconda pycharm环境配置
使用pycharm进行python脚本开发,特别是进行科学计算时,需要引入大量的第三方脚本,此时如果每次都需要去逐一下载,无疑浪费了许多时间。这时可以使用Anaconda来快速的搭建一个开发环境
全栈程序员站长
2022/09/27
1.1K0
pycharm使用anaconda环境可以直接导入包吗_anaconda pycharm环境配置
网站建设怎么设置网址 网址可以备案吗
在网站建设的过程中,设置网址是重要的一环。网址即网络地址,我们可以根据网址准确找到网站。一个网站也与一个网址相对应,两者有很密切的联系。因此想要把网站建设好,就不能忽略网址的设置。那么网站建设怎么设置网址?
用户8715145
2021/12/13
8.7K0
SpringBoot实用小技巧之动态设置SpringBoot日志级别
  有时线上问题我们用打日志的方式来观察错误或埋点参数,但由于这些日志如果都打出来会占用大量存储空间而且覆盖了一些有效信息,所以线上级别一般设置INFO,调试级别用作特殊情况下。此时如果线上想查看调试级别下的日志,又不能更改日志级别后重新发布该怎么办?
欢醉
2019/05/25
1K0
日志切面的配置使用
在User类上加上@Component(value=“user”)//注入beanfactory中
微醺
2019/01/17
6000
为什么要分布式动态配置中心?动态配置中心可以干什么?
目前的互联网程序也是由很多大小不一的应用程序构成的,在运行的过程中这些应用程序都会读取系统的一些配置也会出现一些错误,如果在运行过程中出现了错误,就需要对配置文件进行修改,这个时候就需要借助分布式动态配置中心的帮忙,下面为大家简单介绍,为什么需要分布式动态配置中心?分布式动态配置中心可以干什么?
用户8715145
2022/03/23
5430
电源模块可以并联使用吗?!
在实际工程中,经常出现一个电源模块无法满足负载的电流需求,或是想进一步提高DCDC效率,此时大部分工程师首先会想到并联电源来提高更大的电流,对于这样的设计,通常的评估结果是:不要粗暴的并联。
工程师看海
2022/06/23
9400
电源模块可以并联使用吗?!
@Async可以和@Transactional结合使用吗?
在编写Spring在多线程环境下如何确保事务一致性时,我突然联想到@Async注解,心里就在盘算着@Async注解能否和@Transactional注解一起使用呢?
大忽悠爱学习
2022/10/24
3.5K0
@Async可以和@Transactional结合使用吗?
你真的会正确使用日志吗?
日志在应用程序中是非常非常重要的,好的日志信息能有助于我们在程序出现 BUG 时能快速进行定位,并能找出其中的原因。
二哥聊运营工具
2021/12/17
3630
你真的会正确使用日志吗?
日志在应用程序中是非常非常重要的,好的日志信息能有助于我们在程序出现 BUG 时能快速进行定位,并能找出其中的原因。
xcbeyond
2021/01/11
8960
nginx 直接在配置文章中设置日志分割
直接在nginx配置文件中,配置日志循环,而不需使用logrotate或配置cron任务。需要使用到$time_iso8601 内嵌变量来获取时间。$time_iso8601格式如下:2015-08-07T18:12:02+02:00。然后使用正则表达式来获取所需时间的数据。
后端技术探索
2018/08/09
1.5K1
使用 AgileConfig 动态配置 NLog
NLog 是我们在 .NET 领域使用非常广泛的日志组件。它默认使用 xml 来维护它的配置。最近有几个同学问我当使用 AgileConfig 的时候如何配置 NLog 。因为 AgileConfig 不支持集成 xml 格式的配置。其实 NLog 是支持从 appsettings.json / IConfiguration 读取配置的,那么肯定跟我们的 AgileConfig 集合是没有问题的。以下介绍下 NLog 如何跟 AgileConfig 进行集成,以及支持动态化的配置。
MJ.Zhou
2022/05/18
7430
使用 AgileConfig 动态配置 NLog
tomcat的contextpath可以重复吗_tomcat deployment配置
在tomcat下放个war包,假如我是这样配置server.xml的, <Context docBase="eggchina" path="/yanan" reloadable="true" source="org.eclipse.jst.jee.server:HerPeisWechat"/></Host>
全栈程序员站长
2022/09/30
3360
tomcat的contextpath可以重复吗_tomcat deployment配置

相似问题

可以配置boost日志刷新吗?

10

我可以配置Java日志以使用Spring日志记录吗?

10

如何设置Mosquitto桥接配置?

122

是否可以使用fluentd动态设置日志路径?

127

可以动态生成git日志格式吗?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档