Java 如何实现logj4 appender?

Java 如何实现logj4 appender?,java,logging,log4j,Java,Logging,Log4j,logj4是我们的应用程序创建文件日志所需要使用的,这是因为我们的服务器现在处理通用systemout日志的方式 logj4上的Apache手册在如何为logj4创建框架方面做得很好,但是在将这个框架放到我的应用程序中之后,我发现appender从未实现过——我可以很好地将事情记录到控制台上,但我不知道如何设置appender的日志记录 我显然遗漏了一些东西,但我不知道是什么,因为我以前从未设置过logj4 appender。我的问题是,我必须在app中声明用法,但是Apache手册页面没有显示

logj4是我们的应用程序创建文件日志所需要使用的,这是因为我们的服务器现在处理通用systemout日志的方式

logj4上的Apache手册在如何为logj4创建框架方面做得很好,但是在将这个框架放到我的应用程序中之后,我发现appender从未实现过——我可以很好地将事情记录到控制台上,但我不知道如何设置appender的日志记录

我显然遗漏了一些东西,但我不知道是什么,因为我以前从未设置过logj4 appender。我的问题是,我必须在app中声明用法,但是Apache手册页面没有显示如何在Java类中声明appender,因此我要么缺少这部分指令,要么试图错误地实现它

我的log4j基本上是按照Apache手册页面中的内容设置的,并且部分基于这两篇博文

我在这里的假设是,以下行不足以实现appender logger,因为它已经在java类的开头声明了:

logger.info("This is a successful log NUMBER NINE THOUSAAAAND");
那么,假设我已经正确安装了框架,那么在使用logj4时,我需要采取哪些额外的步骤来实现appender呢

编辑:根据要求,下面是my.properties文件的外观,实际文件名和服务器扩展名都经过了安全编辑

#define the console appender
log4j.appender.consoleAppender = org.apache.log4j.ConsoleAppender

# now define the layout for the appender
log4j.appender.consoleAppender.layout=full.server.extension.framework.logging.CustomLoggingPatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=%p:%d{dd MMM yyyy HH:mm:ss,SSS}:%c() %m

# now map our console appender as a root logger, means all log messages will go to this appender
log4j.rootLogger = DEBUG, consoleAppender


log4j.logger.LoggingFramework=INFO,LogFramework 
log4j.appender.LogFramework=org.apache.log4j.RollingFileAppender
log4j.appender.LogFramework.File=/applogs/appname/appnameLogs.log
log4j.appender.LogFramework.MaxFileSize=1MB
log4j.appender.LogFramework.MaxBackupIndex=10
log4j.appender.LogFramework.layout=us.ny.state.labor.framework.logging.CustomLoggingPatternLayout
log4j.appender.LogFramework.layout.ConversionPattern=%p:%d{dd MMM yyyy HH:mm:ss,SSS}:%c() %m

log4j.rootLogger = INFO, rollingFile

您只能定义一个rootLogger。我猜您正在尝试登录到文件和控制台。在这种情况下,您需要以下内容:

log4j.rootLogger=DEBUG,consoleAppender,LogFramework

见这个问题:


事实上,情况几乎肯定是这样。我已经在上面包含了我的.properties文件。它写得多么糟糕,吓得发抖。