草庐IT

java - 运行 fatjar 时无法加载 log4j2

我正在从事一个使用log4j2日志记录的项目。在intellij中开发时,一切正常,日志记录按预期完成。log4j2.xml通过在启动时通过intellij设置传递给jvm的java属性进行链接。但是一旦我尝试运行一个独立的gradle构建的fat-jar,我遇到了以下问题:java-Dlog4j.debug=true-Dlog4j.configurationFile=/home/aaa/log4j2.xml-jar/home/aaa/myjar-SNAPSHOT.jar异常(exception):ERRORStatusLoggerUnrecognizedformatspecifier

java - 如何让 java.util.logging 发送日志到 Logback?

我正在开发一个使用slf4japi进行记录的应用程序:importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;...privatestaticfinalLoggerLOG=LoggerFactory.getLogger(FreemarkerEmailPreviewGenerator.class);...LOG.error("Errorgeneratingemailpreview",e);(上面发布的代码显示正在使用的类和包,但是非常标准的东西。)我们使用配置如下的logback:[%d{HH:mm:ss.SSS}][%thread][%

java - GKE 和 Stackdriver : Java logback logging format?

我有一个在Kubernetes上的docker镜像中运行Java的项目。日志由fluentd代理自动提取并最终进入Stackdriver。但是,日志的格式是错误的:多行日志在Stackdriver中被放入单独的日志行,并且所有日志都具有“INFO”日志级别,即使它们实际上是警告或错误。我一直在搜索有关如何配置logback以输出正确格式以使其正常工作的信息,但我在googleStackdriver或GKE文档中找不到此类指南。我的猜测是我应该输出某种形式的JSON,但我在哪里可以找到有关格式的信息,甚至可以找到有关如何正确设置此管道的指南。谢谢! 最佳答案

java - 通过 Maven 插件运行 Gauge 测试时如何设置日志级别

当通过mvngauge:execute-DspecsDir=specs运行我的Gauge测试时,控制台输出被DEBUG输出污染。16:33:46.950[main]DEBUGorg.reflections.Reflections-couldnotscanfileMETA-INF/MANIFEST.MF...16:33:46.951[main]DEBUGorg.reflections.Reflections-couldnotscanfileMETA-INF/MANIFEST.MF...16:33:46.951[main]DEBUGorg.reflections.Reflections-c

java - 如何设置 Spring 应用程序的日志文件名并记录到 tomcat/logs 文件夹?

如何设置相对于tomcat目录/logs/mylog.log的日志记录路径?我尝试了什么:更改application.properties中的logging.file属性省略文件名:#logging.file=->所有内容都记录到控制台,因此写入tomcat/logs/localhost.yyyy-mm-dd.loglogging.file=mylog.log->写入控制台,因此与#logging.file相同logging.file=d:/mylog.log->写入位置d:/mylog.loglogging.file=../logs/mylog.log->写入控制台,因此仍然写入lo

java - 如何使用 SLF4JBridgeHandler 以编程方式设置 slf4j 记录器

我正在尝试设置slf4j以拦截所有日志记录语句,然后根据特定条件以编程方式添加处理程序。我的代码是:privatevoidinit(){SLF4JBridgeHandler.removeHandlersForRootLogger();SLF4JBridgeHandler.install();if(condition1)appendHandler(console,Level.DEBUG);if(condition2)appendHandler(logfile1,Level.INFO);...}如何编写appendHandler方法的代码?我刚刚花了几个小时试图通读文档,但找不到解决方案。

java - 以编程方式设置 java.util.logging 目标

我正在使用java.util.logging进行日志记录和跟踪。我如何在Java应用程序中动态设置应将日志写入的文件。 最佳答案 java.util.logging.FileHandler可能会为您完成它的工作。以下代码片段显示了一个简单示例,说明如何以编程方式设置日志记录目标:Loggerlogger=Logger.getLogger("my.logger.name");try{FileHandlerhandler=newFileHandler("application.log",true);logger.addHandler(h

Java - 动态更改日志记录级别

我希望能够告诉JVM在执行链中的某个点停止记录特定级别的消息。在某些时候,我只想记录具有SEVERE级别的消息,所以我正在考虑这样做:for(EnumerationloggerNames=logManager.getLoggerNames();loggerNames.hasMoreElements();){Stringname=loggerNames.nextElement();LoggernextLogger=logManager.getLogger(name);if(nextLogger!=null)nextLogger.setLevel(Level.SEVERE);}有没有更简洁

java - 从 log4j 1.2 迁移到 log4j 2 - 如何获取所有附加程序的列表和滚动文件策略

我正在将我的应用程序从log4j1.2迁移到log4j2.0我有现成的代码:Enumerationappenders=logger.getAllAppenders();...fileBackupIndex=rollingFileAppender.getMaxBackupIndex();在log4j2.0中,我找不到替换上面java代码的方法。如何获取所有附加程序的列表以及如何以编程方式获取为RollingFile附加程序定义的最大值? 最佳答案 对于log4j2,API和CORE是分离的。这允许团队在不破坏客户端代码的情况下对实现进

java - 将 log4j.xml 转换为 log4j2.xml 的惰性方法

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭去年。Improvethisquestion是否有一种简单/懒惰的方法(例如shell脚本等)将大的log4j.xml文件转换为log4j2.xmlequivalent?还是每个人都手动执行此操作?