Tag: logging

您是否在Log4j中看到过根据NDC分离文件的appender?

我们只有极少数的客户(少于50个),我们希望每个客户都有自己独立的日志文件,其所有服务器端日志信息都会记录在其中。 我知道您可以使用NDC和filter使用Log4j中的标准appender将日志语句定向到不同的文件,但这需要更多的设置(为所有现有客户创建记录器),并且它不会自动适应添加的新客户进入系统。 你有没有见过一个appender会根据Log4j NDC值将日志语句拆分成单独的文件? 我想我可以建立一个新的appender来做它但我不能说如果我能得到已经构建好的东西我想要。

vertx LoggerHandler不添加logback

我正在尝试使用LoggerHandler记录所有传入的请求。 我正在使用logback.xml来指定appender。 我正在设置日志记录的系统属性。 System.setProperty(“org.vertx.logger-delegate-factory-class-name”, “org.vertx.java.core.logging.impl.SLF4JLogDelegateFactory”); 它仍然在控制台中记录所有内容而不是文件。

Log4j 2 JSON配置

我有一个XML配置,我想转换为JSON。 Log4j没有加载JSON版本,我找不到任何拼写错误。 我的测试代码只记录ERROR级别和DEBUG级别消息。 只显示ERROR消息并且没有生成文件输出 – 我假设框架回退到默认初始化而不是JSON文件。 注意:log4j2-test.json文件位于类路径中。 我在这里使用的是apache-log4j-2.0-beta9二进制文件。 XML配置如下: ${sys:user.home}/logs test.log %d %p %logger{36} [%t] %m%n 和JSON配置是: { “configuration”: { “name”: “Default”, “properties”: { “property”: { “name”:”Directory”, “value”:”${sys:user.home}/logs” }, “property”: { “name”:”FileName”, “value”:”test.log” } }, “appenders”: { “Console”: { “name”:”Console”, “target”:”SYSTEM_OUT”, “PatternLayout”: { “pattern”:”%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} – %msg%n” } }, “RollingFile”: { “name”:”File”, “fileName”:”${Directory}/${FileName}”, […]

log4j2如何将文件中的属性变量读入log4j2

背景:像往常一样,我们有各种生命周期,如dev。 stage,lt,prod所有这些都是在部署时从环境变量$ {lifecycle}中挑选出来的。 所以JNDI设置我们将$ {lifecycle} .properties存储为变量datasource.jndi.name = jdbc / xxx。 由于其他bean也在使用此属性文件,因此validation此类变量已加载且文件位于类路径中,但不知何故,我无法在下面的JDBC Appender中的log4j2.xml中使用此变量。 我也试过像“$ {datasource.jndi.name}”这样的选项,或者我有什么方法可以适应这个解决方案 get datasource.jndi.name from {lifecycle}.properties

管理分布在多台计算机上的大量日志文件

我们已经开始使用第三方平台(GigaSpaces)来帮助我们进行分布式计算。 我们现在要解决的主要问题之一是如何在此分布式环境中管理我们的日志文件。 我们目前有以下设置。 我们的平台分布在8台机器上。 在每台机器上,我们有12-15个进程,使用java.util.logging记录分离日志文件。 在这个平台上,我们有自己的应用程序,使用log4j和日志来分隔文件。 我们还将stdout重定向到一个单独的文件以捕获线程转储等。 这导致大约200个不同的日志文件。 截至目前,我们没有工具来协助管理这些文件。 在下列情况下,这会让我们头疼。 我们事先没有知道在哪个过程中发生问题的故障排除。 在这种情况下,我们当前使用ssh登录每台机器并开始使用grep 。 通过定期检查日志以寻找任何不寻常的东西,试图主动。 在这种情况下,我们当前还登录到所有计算机并使用less和tail查看不同的日志。 设置警报。 我们希望在超过阈值的事件上设置警报。 这看起来很痛苦,需要检查200个日志文件。 今天我们每秒只有大约5个日志事件,但随着我们将越来越多的代码迁移到新平台,这将会增加。 我想问社群以下问题。 你是如何通过分布在通过不同框架记录的几台机器上的许多日志文件来处理类似情况的? 你为什么选择那个特定的解决方案? 您的解决方案是如何运作的? 你觉得什么好,你发现什么不好? 非常感谢。 更新 我们最终评估了Splunk的试用版。 我们对它的工作方式非常满意,并决定购买它。 易于设置,快速搜索和技术倾向的大量function。 我可以推荐任何类似情况的人来检查一下。

如何在JBoss上记录ip地址

我想记录调用我的WS的客户端的IP地址。 我怎么能在JBoss上做到这一点? 编辑: 如果可能的话,我想在JBOSS上使用log4J配置。

有没有办法在浏览器中实时查看我的web-apps tomcat日志?

我正在使用log4j来记录我的数据。 我希望能够在浏览器中与我的网络应用程序一起实时查看日志文件。 像Chainsaw这样的独立工具相当不错,但它们不能满足在浏览器中实时查看日志的目的。 任何人都可以帮我吗?

Log4j2 api在OSGi环境中找不到Log4j2核心

我正在尝试使用log4j2 OSGi包,但似乎log4j2 api在OSGi环境中找不到log4j2核心。 我不断得到以下exception: ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console 我发现在很少的地方讨论了同样的例外,但我仍然无法弄清楚这个问题。 Isuspect我遇到了这个问题,因为log4j2 api无法在log4j2核心的META-INF目录中找到log4j-provider.properties。 有什么线索为什么我得到这个例外,我该如何纠正这个问题? (如果有人有正确的pom文件添加log4j依赖项和捆绑请与我分享) 这些是我使用的依赖项 org.apache.logging.log4j log4j-api 2.2 org.apache.logging.log4j log4j-core 2.2 我使用apache felix作为bundle插件。 发生此错误的原因是log4j2-core的META-INF内部的资源特别是log4j-providoer.properties文件对log4j api不可见。 谢谢!

Kafka:如何启用客户端日志记录?

当我实例化Kafka消费者时 KafkaConsumer consumer = new KafkaConsumer(props); 我收到这条消息 SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”. SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 如何为客户端程序启用日志记录?

Java通过多个类进行日志记录

我想登录我的应用程序,其中包含几个类。 我想在最后有一个.txt日志文件。 因此,我创建了一个静态记录器实例,并在一个类中为它创建了一个FileHandler。 因为我想拥有一个文件,所以我在FileHandler中将第二个参数设置为true,以便能够在日志记录期间附加日志文件。 public class MyLogging { static Logger logger; public Handler fileHandler; Formatter plainText; public MyLogging() throws IOException{ //instance the logger logger = Logger.getLogger(MyLogging.class.getName()); //instance the filehandler fileHandler = new FileHandler(“myLog.txt”,true); //instance formatter, set formatting, and handler plainText = new SimpleFormatter(); fileHandler.setFormatter(plainText); logger.addHandler(fileHandler); } 之后,我创建了其他记录器。 我知道我必须为每个类实例一个记录器。 因此我只为每个类制作记录器(没有FileHandler)。 但所有的记录器都引用了一个类(不是我创建记录器的类)。 例如: public class Test1 { […]