我有一个并发运行代码,每次运行都需要在文件中记录一些内容。每个执行-新的故事与唯一的文件。 事先谢谢你,安德烈!
我正在使用log4j2,并在log4j2.xml中配置了一个滚动文件,作为 这对于本地Eclipse开发是很好的,但是当我部署到JBOSS服务器时,我希望路径和文件名适合该文件系统,而不必在部署之前记住编辑log4j2.xml文件。 我看过下面的帖子
例如:如果jar文件位于“D:\apps\jar.jar”中,则日志路径为“D:\log”;如果jar文件位于“C:\apps\jar.jar”中,则日志路径为“C:\log” 我尝试将log4j2.xml中的行(如下)更改为: 并在初始化记录器之前调用此函数:
我尝试配置Log4j2几个小时,但无法解决这个问题。 编辑: 来自的日志:
我正在尝试设置log4j2以使用异步记录器将所有消息记录到滚动文件中。 是否有一种方法可以创建另一个记录程序来捕获所有事件?还有别的想法吗? 下面是我的log4j2.xml:
web-inf/jboss-deployment-structure.xml 当我在控制台启动eclipse中的服务器时,我仍然只能看到信息、日志和警告。我需要调试日志spring框架。这个配置有什么问题??
我的应用程序使用log4j,但OkHttpClient使用java util日志记录。因此,除了log4j.properties之外,我创建了一个包含以下内容的logging.properties文件: 然后,我将此添加到用于启动应用程序的jvm参数中 但我没有看到任何新的文件夹被创建,如FileHandler所指示的。有人知道为什么吗?
在我的项目中,我使用slf4j+log4j进行日志记录。我刚接触java,正在尝试了解日志记录是如何工作的。如果我想使用log4j以外的其他日志框架,比如java.util.logging,那么我就不需要更改任何代码,因为我使用的是SLF4J。我只需要移除log4j的jar,并添加java.util.logging的二进制。我试着了解当我们不改变任何代码时,它是如何工作的。如果问题不清楚,请让我知
也许可以在某个配置文件中完成。有人已经做过了吗?
我的log4j.properties文件粘贴在下面。我的理解是,我们需要在根记录器中添加附加器,以便附加器工作。正如您在下面的属性文件中所看到的,根记录器(log4j.rootlogger=info,A)只附加了一个appender A。但是,我看到的是日志记录信息被打印到了两个附加器(consoleappender-a和File appender-b)。这怎么可能?
我现在的问题是,如果我想完全禁用FileAppender,我不知道怎么做。如果我向FileAppender添加一个DenyAllFilter,它将阻止任何内容写入文件,但文件仍然被创建。如果从根记录器中删除FileAppender,则将Log4J写入stderr: 如果我将根级别设置为OFF,则我将自定义调试级别设置为仍然输出的各个记录器。 如果我将LoggerRepository级别设置为OFF
我计划用log4j one替换旧的记录器。我需要创建继承Logger的新类LocalLogger,而不是直接使用Logger。这样做的原因-我需要旧记录器中可用的新日志方法名称。 我有log4j记录器: 如何以与Logger相同的方式实现LocalLogger的功能? 如何将c类传递给超级本地记录器? LocalLogger的草稿:
我通过添加以下注释创建了MDB: 这个bean还实现了MessageListener接口,并覆盖了它的onMessage()方法,我在该方法中定义了日志消息到达时所需的行为。它看起来是这样的: 我还需要将JMS添加到WildFly的standalone.xml中,方法是从standalone-full.xml复制所有与JMS相关的行。我还需要将我的队列添加到standalone.xml中,将这一行
我已经开发了一个自定义滚动文件附加器,它工作得很好。唯一的问题是,每次我重新启动服务器或更改log4j2时,它都会被重新初始化。xml文件(文件的任何部分)和之前的所有日志会突然被删除。我还没有观察到默认附加器的这种行为,所以我想知道我能做些什么来保留我的配置。 附言:我试图使它成为一个单例,但除此之外,它不起作用,我真的不想让它远离被重新配置,我只想保留我以前生成的日志。 使现代化 显然,每次服