简体   繁体   English

log4j没有记录到文件

[英]log4j not logging to file

I've got a simple Tomcat web service that I'd like to see the logs for. 我有一个简单的Tomcat Web服务,我想查看日志。 I figured log4j would be the easiest solution. 我认为log4j是最简单的解决方案。 So far it will log to the in my dev environment, but it won't log to a file. 到目前为止,它将在我的开发环境中登录,但它不会记录到文件中。

Here is my log4j.properties file (located in the src/ folder): 这是我的log4j.properties文件(位于src /文件夹中):

#Add these properties to all CallRouter-->data-->ddlog4j.properties files at the bottom to configure the Transactions.jar logging for DB and WS messaging.
log4j.rootCategory=ALL, MAIN_LOG
log4j.rootLogger=DEBUG,console

#Defines the <logging level>, <appender> for custom logging.
log4j.category.com.ddvc.android.resource=INFO, SupportWebServices

#### Transactions.jar appender INFO setup
log4j.logger.com.ddvc.android.resource=INFO
log4j.appender.ResourceInfo=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ResourceInfo.File=C:/test/SupportWebServices.log
log4j.appender.ResourceInfo.Append=true
log4j.appender.ResourceInfo.DatePattern='.' yyyy-MM-dd HH-mm
log4j.appender.ResourceInfo.layout=org.apache.log4j.PatternLayout
log4j.appender.ResourceInfo.layout.ConversionPattern=%d{[yyyy-MM-dd HH:mm:ss:SSS]} %p %c{1} (%M: %L) - %m%n
log4j.appender.ResourceInfo.Threshold=INFO

# Output to Console
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{[yyyy-MM-dd HH:mm:ss]} %p %c{1} (%M: %L) - %m%n
log4j.appender.CONSOLE.Threshold=CONSOLE

And in my java files I have (located in src/com/ddvc/android/resource): 在我的java文件中(位于src / com / ddvc / android / resource中):

import org.apache.log4j.Logger;

@Path("/pulse")
@Component
@Scope("request")
public class PulseResource {
    private final static Logger LOGGER = Logger.getLogger(PulseResource.class.getName());

    @GET
    @Path("list")
    @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
    public List<Pulse> postXML() {
        LOGGER.info("Start: list");
    }
}

Like I said I can see the logs to the Console: 就像我说的,我可以看到控制台的日志:

INFO  [2015-02-19 15:19:34,961] [http-bio-8080-exec-3] [PulseResource] [] - Start: list

But I don't see any file created or logged to in the C:\\test folder. 但我没有看到在C:\\ test文件夹中创建或记录任何文件。 (plan to change it to ${catalina.base}\\logs\\SupportWebServices.log) (计划将其更改为$ {catalina.base} \\ logs \\ SupportWebServices.log)

Try changing 尝试改变

log4j.rootLogger=DEBUG,console

to

log4j.rootLogger=DEBUG,console,ResourceInfo

remove this line: 删除此行:

log4j.rootCategory=ALL, MAIN_LOG

edit this line: 编辑此行:

log4j.rootLogger=DEBUG,console,ResourceInfo

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM