草庐IT

logged_out

全部标签

java - 以编程方式查找 log4j2 (beta9) 日志文件名

我正在使用Java1.7和Log4j2(beta9),并且我有以下log4j2.xml文件:%-5p-%m%n"/>%-5p-%m%n"/>就日志记录本身而言,它满足了我的需要。作为错误/异常序列的一部分,我需要发送一封带有日志文件附件的电子邮件。如何以编程方式获取“fileName="logs/foo.log"”位?我真的不想对此进行硬编码。 最佳答案 从Logger中,遍历所有getAllAppenders寻找实现RollingFileAppender的那个,然后调用getFile在上面。或者您可以使用getAppender("

java - 如何使用 Intellij 重构将 "System.out"调用替换为日志记录?

遗留应用程序对System.out的调用超过3000次。使用Intellij的重构工具,我如何(轻松地)将对“System.out”的调用替换为对log4j/java.util.logging/etc的调用?我浏览了重构菜单,但没有看到任何选项。注意:我知道我可以使用“源代码查找/替换”,但很好奇重构工具是否处理了这种类型的用例谢谢 最佳答案 使用StructuralSearchandReplace 关于java-如何使用Intellij重构将"System.out"调用替换为日志记录?

Java:是否可以通过 Object(In|Out)putStreams 在阻塞的 SocketChannel 上进行并发读写?

我在阻塞的SocketChannel上创建了一个ObjectInputSteam和ObjectOutputStream并尝试同时读取和写入。我的代码是这样的:socketChannel=SocketChannel.open(destNode);objectOutputStream=newObjectOutputStream(Channels.newOutputStream(socketChannel));objectInputStream=newObjectInputStream(Channels.newInputStream(socketChannel));ThreadreplyTh

java - SLF4J-Log4j 记录器不记录

我是第一次尝试使用SLF4J-Log4j。在每个Java类中,我都定义了一个记录器,如下所示:privateorg.slf4j.Loggerlogger=org.slf4j.LoggerFactory.getLogger(.class);(当然,我确保slf4-log4j12-1.6.4.jarJAR在类路径中!)但是每当我去使用记录器时,比如logger.debug("Somethinginterestinghappened");或logger.error("Anerroroccurred");,我没有在我的日志文件中看到它们的输出。然而,没有发生异常,应用程序(它实际上是一个部署到

java - 意外异常 : java. lang.NoClassDefFoundError: org/apache/log4j/LogManager

我正在开发GWT应用程序。它使用RPC从内部系统收集信息。它通过使用库jar来实现,我们称它为alpha.jar。我们在许多应用程序中使用这个jar,所以它工作正常,顺便说一句,它是用ANT构建的,在eclipse之外。alpha.jar中的一些类引用LOG4J2以及许多其他外部jar,因此当我们运行一个应用程序时,我们将类路径传递给所有这些类,一切正常。请注意,这不是一个简单的初学者问题。alpha.jar正常工作,包括对Log4J的调用。问题:在Eclipse中,我有这个GWT应用程序项目和Alpha.jar项目(当然还有源代码)。服务器部分需要实例化alpha对象并与alpha系

java - getCurrentLoggers 在 log4j2 中的模拟是什么

如何获取log4j2中使用的所有记录器?在log4j中,我可以像这里描述的那样使用getCurrentLoggers:Numberofloggersused 最佳答案 获取log4j2中使用的所有记录器:LoggerContextlogContext=(LoggerContext)LogManager.getContext(false);Mapmap=logContext.getConfiguration().getLoggers();注意:使用org.apache.logging.log4j.core.LoggerContext不

java - 如何将 javax.mail.Session setDebugOut 重定向到 log4j 记录器?

如何将javax.mail.SessionsetDebugOut重定向到log4j记录器?是否可以仅将mailSession调试重定向到记录器?我的意思是,有类似的解决方案linktext将所有标准输出重新分配给log4j--System.setOut(newLog4jStream())最好的问候 最佳答案 ApacheCommonsExec库包含有用的类LogOutputStream,您可以将其用于此确切目的:LogOutputStreamlosStdOut=newLogOutputStream(){@Overrideprotec

java - 如何在 Java 中创建 IN OUT 或 OUT 参数

在PL/SQL(或许多其他语言)中,我可以有INOUT或OUT参数,它们是从过程返回的。我怎样才能在Java中实现类似的事情?我知道这个技巧:publicvoidmethod(Stringin,String[]inOut,String[]inOut2){inOut[0]=in;}其中in参数代表一个IN参数,inOut参数可以保存一个返回值。惯例是String[]inOut是一个inOut.length==1的数组。这有点笨拙。编辑对答案的反馈:其他技巧包括:holder/wrapper类,但我不想引入任何新类型、回调等。返回值:我想要一个通用解决方案。IE。一个涉及多个INOUT参数

java - PrintStream对象out被初始化为null,我们如何调用它的方法呢?

我在System看到过out的类对象(类型PrintStream)用null初始化值(value)。我们如何调用像System.out.prinln("");这样的方法??在System类中,out变量以这种方式初始化:packagejava.lang;publicfinalclassSystem{publicfinalstaticPrintStreamout=nullPrintStream();privatestaticPrintStreamnullPrintStream()throwsNullPointerException{if(currentTimeMillis()>0){re

OpenTelemetry Logging 思维导图,收藏

Log是最常用、最自然的监控数据类型之一,具有以下的优点:日志的内容比指标更加丰富,可以提供更多的细节信息,帮助开发人员和运维人员更好地理解应用程序的运行状况,通过日志几乎可以重现、还原系统的完整工作过程。日志的格式灵活,可以方便的记录多样化的事件,包括错误、异常和警告等,而指标通常只能提供统计数据,无法直接反映系统中的具体事件。日志为文本格式,便于技术人员理解,同时可以被各种文本处理工具、文本搜索工具高效的处理。现实情况中,logs、traces、metrics在收集、传输、存储整个链条上,存在相互割裂的情况,导致在对可观测性数据进行统一分析的时候,难以打通。 在可观测性体系中,建立logs