草庐IT

binary_log_types

全部标签

java - 如何自定义 log4j2 RollingFileAppender?

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

java - 编译时间 : no instance(s) of type variable(s) U exist

以下语句虽然毫无意义,但在句法上是合理的。finalStreamfoobar=IntStream.empty().flatMap(x->IntStream.empty().mapToObj(y->IntStream.empty().mapToLong(z->1)));//compilationerrorhereon`z->1`但是它不编译,返回:java:incompatibletypes:badreturntypeinlambdaexpressionnoinstance(s)oftypevariable(s)Uexistsothatjava.util.stream.Streamcon

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 - 根据 JLS(6.4.2。模糊)的 "obscuring"的代码示例,尤其是这个 "local variable or type can obscure a package"

你能举几个模糊的例子(代码片段)吗?我读了JLS,但我不明白这个概念。JLS没有给出代码示例。隐藏在Base类和Derived类的字段之间。阴影在字段和局部变量之间。模糊-在什么(?)和什么(?)之间旁白:有趣的是,JLS说如果从父类中隐藏相应的字段不会继承:Shadowingisdistinctfromhiding(§8.3,§8.4.8.2,§8.5,§9.3,§9.5),whichappliesonlytomemberswhichwouldotherwisebeinheritedbutarenotbecauseofadeclarationinasubclass.Shadowing

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 - Log4j、commons-logging、JDK-Logging 和 SLF4J 如何相互关联?

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

java - Eclipse for Java 中的 "unavoidable generic type problems"是什么?

在“错误/警告”面板中设置Java编译器的首选项时,Eclipse可以配置为“忽略不可避免的泛型类型问题”。Java中这种“不可避免”的泛型类型问题是什么?忽略这些安全吗?它们什么时候出现? 最佳答案 来自thedocumentation特征:Whenenabled,thecompilerwillissueanerrororawarningevenwhenitdetectsagenerictypeproblemthatcouldnothavebeenavoidedbytheprogrammer.Asanexample,atypema

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

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