草庐IT

add_file_log

全部标签

java - 如何自定义 log4j2 RollingFileAppender?

我们使用log4j1.2.x登录我们的产品,并希望在不久的将来迁移到log4j2.x。我们实现的功能之一是在生成的每个新滚动日志文件中记录系统信息和其他重要参数。我们在log4j1.2.x中的实现方式是我们扩展了log4j的RollingFileAppender类并覆盖了rollOver()方法,下面是实现的部分片段@OverridepublicvoidrollOver(){super.rollOver();//Wearenotmodifyingit'sdefaultfunctionalitybutassoonasrollOverhappensweapplyourlogic////Lo

java - 为什么 File 中的某些方法使用 boolean 值来指示其成功(而不是仅仅抛出异常)有什么原因吗?

Java中的File类包含使用boolean值指示操作是否成功的方法。要求使用上述方法的用户在每次调用时检查返回值。以下是从mkdir()中获取的说明要求的文档片段:publicbooleanmkdir()Createsthedirectorynamedbythisfile,assumingitsparentsexist.Usemkdirsifyoualsowanttocreatemissingparents.NotethatthismethoddoesnotthrowIOExceptiononfailure.Callersmustcheckthereturnvalue.createN

java - Log4j2 通配符记录器名称

我正在使用log4j在我的一个应用程序上做一些日志记录。我的配置中的记录器看起来像这样。基本上,我想要来self编写的代码的“信息”级消息,但我希望外部库仅在出现警告或更严重的情况时才记录。这正如我所料的那样工作,但是“org.eclipse.jetty”下有很多类有没有可能做这样的事情?也就是说,我希望整个包中的所有内容都只显示warn/error/fatal。上面的方法我都试过了,没有效果。是否有“通配符”或我可以用来为包中的所有内容设置记录器的东西? 最佳答案 对于基于属性的配置,您只需采用不带任何通配符的包名称。也应该使用X

java - 使用 log4j 进行日志记录的嵌入式 Tomcat

我正在使用嵌入式Tomcat8.5.4,即org.apache.tomcat.embedtomcat-embed-core8.5.4实现工作完美(Tomcat工作得很好),唯一困扰我的是嵌入式Tomcat登录System.out。在我的应用程序内部,我使用log4j进行日志记录,因此这导致以下日志记录混合(而不是将Tomcat记录到任何文件):...2017-07-3017:57:54DEBUGEmbeddedTomcat:136-Bindingservlet'sample'topath'/sample/*'.Jul30,20175:57:54PMorg.apache.coyote.A

java - 是否可以在 log4j 中为堆栈跟踪的每一行添加前缀?

当你写作时logger.error("message",exception);log4j生成消息和完整的堆栈跟踪:Aug906:26:1310.175.60.14myPrefix:[error][TP-Processor114][my.class.Name]message:exceptionatfatherOfExceptionatfatherof_fatherOfExceptionatfatherof_fatherof_fatherOfException...我的转换模式是log4j.appender.syslog.layout.ConversionPattern=myPrefix:

java - 获取以下构建错误 : "the type {---} cannot be resolved. it is indirectly referenced from required .class files"

因此,我在Eclipse(Java)中进行了以下设置:我有一个项目(我们称之为“项目1”),它提供了一个接口(interface)(包私有(private))我有另一个项目(“项目2”),其中包含项目1的包...此包中的类扩展了“项目1”中的包私有(private)接口(interface),并提供了一个很好的公共(public)接口(interface)。现在,我有引用“项目2”的“项目3”。项目3然后使用项目2中提供的公共(public)对象。在项目3中调用项目2的构造函数后,我得到以下信息:“无法解析类型{---}。它是从所需的.class文件中间接引用的”如果我从项目3添加对项

java - 如何为 "virtual files"列表创建 ZIP 文件并输出到 httpservletresponse

我的目标是将多个java.io.File对象放入一个zip文件并打印到HttpServletResponse以供用户下载。这些文件是由JAXB编码器创建的。它是一个java.io.File对象,但它实际上不在文件系统上(它只在内存中),所以我无法创建FileInputStream。我见过的所有资源都使用OutputStream打印zip文件内容。但是,所有这些资源都使用FileInputStream(我不能使用)。有人知道我怎样才能做到这一点吗? 最佳答案 看看ApacheCommonsCompress库,它提供了您需要的功能。当然

java - Log4j、commons-logging、JDK-Logging 和 SLF4J 如何相互关联?

它们是替代品、依赖项、API还是彼此的实现?它们为什么存在? 最佳答案 啊,Java中的日志记录框架。您的问题混合了2种不同类型的库:log4j和JDK日志记录是处理日志记录的库CommonsLogging和SLF4J是日志外观:您仍然需要一个真正的日志实现(比如log4j)如果您正在编写一个将在其他人的系统中使用的库,那么您应该使用日志外观,因为您不知道他们将使用哪个日志框架。在这种情况下使用SLF4J(CommonsLogging较旧并且有一些类加载器问题)。如果您控制整个应用程序并且可以决定使用哪个日志记录框架,您可以自由选择

java - 我可以使用 log4j 在 Java 方法中设置日志记录级别吗?

我在类中有一个方法非常冗长,这使得日志难以阅读。我想通过仅更改该方法的级别来减少其日志记录,而使同一类中的其他方法保持不变。这可能吗? 最佳答案 您可以更改该类的级别配置,但不能更改类中特定方法的级别配置。做你想做的事情的唯一方法是在该方法中使用不同的记录器,然后在不同的级别配置它。希望这对您有所帮助。 关于java-我可以使用log4j在Java方法中设置日志记录级别吗?,我们在StackOverflow上找到一个类似的问题: https://stackov

java - 我如何使用 <h :outputScript/> with a remote file?

我有一个专用于静态内容的服务器,所以我不想使用资源目录来存储javascript文件,但我不想停止使用标签。我怎样才能使该标记生成指向文件所在的静态服务器的链接,而不是RES_NOT_FOUND。我什至不需要JSF来检查文件是否存在...我试过:生成:但它生成:我能做什么?解决方案:丹尼尔向我指出了一个不错的解决方案!我已经下载了Omnifaces的源代码并修改了org.omnifaces.resourcehandler.CDNResourceHandle.createResource(StringresourceName,StringlibraryName)方法:publicReso