当你写作时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:
因此,我在Eclipse(Java)中进行了以下设置:我有一个项目(我们称之为“项目1”),它提供了一个接口(interface)(包私有(private))我有另一个项目(“项目2”),其中包含项目1的包...此包中的类扩展了“项目1”中的包私有(private)接口(interface),并提供了一个很好的公共(public)接口(interface)。现在,我有引用“项目2”的“项目3”。项目3然后使用项目2中提供的公共(public)对象。在项目3中调用项目2的构造函数后,我得到以下信息:“无法解析类型{---}。它是从所需的.class文件中间接引用的”如果我从项目3添加对项
它们是替代品、依赖项、API还是彼此的实现?它们为什么存在? 最佳答案 啊,Java中的日志记录框架。您的问题混合了2种不同类型的库:log4j和JDK日志记录是处理日志记录的库CommonsLogging和SLF4J是日志外观:您仍然需要一个真正的日志实现(比如log4j)如果您正在编写一个将在其他人的系统中使用的库,那么您应该使用日志外观,因为您不知道他们将使用哪个日志框架。在这种情况下使用SLF4J(CommonsLogging较旧并且有一些类加载器问题)。如果您控制整个应用程序并且可以决定使用哪个日志记录框架,您可以自由选择
在“错误/警告”面板中设置Java编译器的首选项时,Eclipse可以配置为“忽略不可避免的泛型类型问题”。Java中这种“不可避免”的泛型类型问题是什么?忽略这些安全吗?它们什么时候出现? 最佳答案 来自thedocumentation特征:Whenenabled,thecompilerwillissueanerrororawarningevenwhenitdetectsagenerictypeproblemthatcouldnothavebeenavoidedbytheprogrammer.Asanexample,atypema
我在类中有一个方法非常冗长,这使得日志难以阅读。我想通过仅更改该方法的级别来减少其日志记录,而使同一类中的其他方法保持不变。这可能吗? 最佳答案 您可以更改该类的级别配置,但不能更改类中特定方法的级别配置。做你想做的事情的唯一方法是在该方法中使用不同的记录器,然后在不同的级别配置它。希望这对您有所帮助。 关于java-我可以使用log4j在Java方法中设置日志记录级别吗?,我们在StackOverflow上找到一个类似的问题: https://stackov
我希望有人能告诉我为什么java有java.lang.reflect.Type,当一切都已经继承自Object时?有人可以举例说明我需要使用Type而不是Object的情况吗? 最佳答案 Object是所有java类的基类。Type只是所有表示类型的类的标记接口(interface)。它是在java1.5中引入的,因为在java1.5之前,除了java.lang.Class之外没有表示java类型的类。然后,当引入泛型时,需要为Class、泛型数组等创建一些通用的抽象。因此他们定义了接口(interface)Type。
我有一组JAXB生成的类,其中一些类有setter方法接受“对象”作为参数。例如:@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="Car",propOrder={"defaultCar"}publicclassCar{@XmlElement(name="DefaultCar")protectedObjectdefaultcar;publicvoidsetDefaultCar(Objectvalue){this.defaultCar=value;}在我的代码中创建这些类的实例后,我调用setter方法并传入所需的值。尽管该方法的参数
我需要一个围绕Log4j2的自定义包装器。基本要求是这样的。我的应用程序应该只在任何地方使用MyCustomLogger。而不是Log4j2记录器,所以如果将来需要,我可以轻松删除第三方库,如log4j2等依赖项。我该怎么做?? 最佳答案 Log4j2附带了一个用于生成自定义记录器包装器的工具:参见http://logging.apache.org/log4j/2.0/manual/customloglevels.html#CustomLoggers此工具旨在用于自定义日志级别,但您也可以将其用于您的目的。如果您想完全删除对log4
我有一个log4j2.xml文件,如下所示。它正在运行,但它正在获取大量Hibernate和GWT日志文件。我怎样才能排除这些包,或者我怎样才能让我的日志文件只包含来self的包层次结构的日志记录? 最佳答案 删除您的“调试”根记录器。然后添加以下记录器,它将仅记录来自给定“some.dummy.package”的日志所以最后你会有 关于java-过滤掉Log4j2文件中的Hibernate日志,我们在StackOverflow上找到一个类似的问题: http
我的build.gradle文件中有以下依赖项。compile'org.slf4j:slf4j-api:1.7.25'compilegroup:'org.apache.logging.log4j',name:'log4j-core',version:'2.11.1'compilegroup:'org.apache.logging.log4j',name:'log4j-api',version:'2.11.1'在运行我的单元测试时,会显示以下日志。excludepatterns:SLF4J:ClasspathcontainsmultipleSLF4Jbindings.SLF4J:Foun