草庐IT

Log4JLogger

全部标签

java - 我如何使用 log4j 自动记录类中调用的每个方法

我有一个带有数据库调用的类,我通常想用log4j记录这个类中调用的每个方法(带有参数):logger.debug("foo(id="+id+")initiated");是否可以自动执行此操作?也许通过在每个方法的开头使用某种注释而不是编写每个单独的logger.debug?今天,每次更改参数或方法名称时,我都必须更新我的logging.debug。 最佳答案 尝试@Loggable注释和来自jcabi-aspects的AspectJ方面(我是开发人员):@Loggable(Loggable.INFO)publicStringload

java - Log4j:如何为多个appender定义通用布局和ConversionPattern

我的log4j配置中有多个附加程序,我想知道是否可以一次为所有附加程序定义布局和转换模式。IE。我有log4j.appender.CA=org.apache.log4j.ConsoleAppenderlog4j.appender.CA.layout=org.apache.log4j.PatternLayoutlog4j.appender.CA.layout.ConversionPattern=%d{yyyy/MM/ddHH:mm:ss}%-5p%c%x-%m%nlog4j.appender.FA=org.apache.log4j.RollingFileAppenderlog4j.app

java - 具有特定时区的 Apache Log4j 日志记录

我希望日志包含特定时区的日期条目。有没有办法在log4j.properties中强制使用时区?现在我正在使用JDK1.5,如您所知,JDK1.5中存在时区错误,该错误已在JDK1.5中删除。对于JDK1.5,它默认显示“GMT”时区。我想在Log4j中配置我的特定时区。 最佳答案 这将允许您在日志的每一行中查看时区信息:%d{yyyy-MM-dd/HH:mm:ss.SSS/zzz}诀窍是在模式中包含“zzz”,因为根据java.text.SimpleDateFormat(http://docs.oracle.com/javase/1

java - Log4j 显示包名

现在对于我的ConversionPattern,我有:log4j.appender.A1.layout.ConversionPattern=%d{yyyyMMMddHH:mm:ss,SSS}%5p[%t](%F:%L)-%m%n我还想在类(%F:%L)中包含完整的包名称,但我找不到anyconfigtodosointhedocs.我知道这会更慢,但这只是为了调试,而不是在系统投入生产时。 最佳答案 也许我只是误解了你,但是%C会输出你的类包。来自您引用的文档:%CUsedtooutputthefullyqualifiedclassn

java - log4j RollingFileAppender 与 DailyRollingFileAppender 之间有什么区别

log4jRollingFileAppender与DailyRollingFileAppender有什么区别?为什么我要使用一个而不是另一个? 最佳答案 阅读http://www.mail-archive.com/log4j-user@logging.apache.org/msg08183.htmlDailyRollingFileAppender-RotatesbasedondateFormatRollingFileAppender-Rotatesbasedonamaximumfilesize.同时检查:http://logging

java - 如何从 Java 代码禁用 log4j 日志记录

我使用一个使用log4j写入日志的遗留库。我的默认log4j.properties文件将日志定向到控制台,但在我的主程序的某些特定功能中,我想完全禁用日志记录(从所有类)。我试过这个:Logger.getLogger(BasicImplementation.class.getName()).setLevel(Level.OFF);其中“BasicImplementation”是执行日志记录的主要类之一,但它不起作用-日志仍写入控制台。这是我的log4j.properties:log4j.rootLogger=warn,stdoutlog4j.logger.ac.biu.nlp.nlp.

java - 如何解决log4j中的警告???Continuable parsing error...The content of element type "log4j:configuration"must match

这个问题在这里已经有了答案:“log4j:configuration”mustmatch“(renderer….loggerFactory)?)”(2个答案)关闭2年前。显示警告...log4j:WARNContinuableparsingerror28andcolumn23log4j:WARNThecontentofelementtype"log4j:configuration"mustmatch"(renderer*,appender*,(category|logger)*,root?,categoryFactory?)".执行java文件时

java - 如何将log4j日志文件更改为utf8

我收到了一个使用log4j作为记录器应用程序的代码。如何为它生成一个UTF8日志文件?。log4j创建的日志文件目前是ASCII格式。我已经试过了按照以下说明设置日志文件的文件编码vicurrent:setbomb:setfileencoding=utf-8:wq事实上,在执行上述操作后,日志文件本身停止工作,即由于某些奇怪的原因,没有进一步的日志写入文件我也试过更改.properties文件log4j.rootLogger=TRACE,logfilelog4j.appender.logfile=org.apache.log4j.RollingFileAppenderlog4j.app

java - 如何在 log4j2 中动态打开或关闭 rootLogger 的一个附加程序?

java如何在运行时动态开启或关闭log4j2中rootLogger的一个appender?例如,我想禁用ConsoleAppender:......这可能吗? 最佳答案 您可以以编程方式添加或删除附加程序。在你的情况下,让我们删除ConsolefinalLoggerContextctx=(LoggerContext)LogManager.getContext(false);finalConfigurationconfig=ctx.getConfiguration();config.getRootLogger().removeApp

java - 如何在 OSGi 环境中为 log4j2 JUL 适配器设置系统属性

我想在OSGi中使用log4j2JUL适配器环境。所以我直接使用log4j2OSGi包并在我的自定义OSGi包之一中设置以下系统属性,如前所述here:System.setProperty("java.util.logging.manager","org.apache.logging.log4j.jul.LogManager");似乎此系统属性未设置,因为来自Javautil框架的日志不会发送到附加程序。我使用的OSGi框架是EclipseEquinox.我在哪里可以设置此系统属性以使用OSGi?编辑:据我所知,问题出在JVM开始时所需的属性,即java.util.logging.ma