如何启用嵌入式tomcat日志记录 [英] How to enable embedded tomcat logging

查看:581
本文介绍了如何启用嵌入式tomcat日志记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Java应用程序中使用嵌入式tomcat.下面是我的源代码.但是tomcat不会生成任何日志.

I m using embedded tomcat in my java application. below is my source code. however tomcat is not generating any log.

        embedded = new Embedded();
        embedded.setDebug(3);

        org.apache.catalina.logger.FileLogger embeddedFileLogger = new org.apache.catalina.logger.FileLogger();         
        embeddedFileLogger.setDirectory(tomcatHome+"/log");
        embeddedFileLogger.setPrefix("Embedded_log_");
        embeddedFileLogger.setSuffix(".txt");
        embeddedFileLogger.setTimestamp(true);
        embeddedFileLogger.setVerbosity(3);



        //embedded.setLogger(new SystemOutLogger());
        engine = embedded.createEngine();
        //engine.setLogger(embeddedFileLogger);
        embeddedFileLogger.setContainer(engine);
        engine.setDefaultHost("localhost");

        host = embedded.createHost("localhost", tomcatHome + "/webapps");
        //host.setLogger(embeddedFileLogger);
        engine.addChild(host);

        _context = embedded.createContext("", tomcatHome + "/webapps/ROOT");
        host.addChild(_context);

        embedded.addEngine(engine);

        CoyoteConnector connector = (CoyoteConnector)embedded.createConnector(InetAddress.getByName(ipAddress), port, false);               
                   embedded.addConnector(connector);
        embedded.setLogger(embeddedFileLogger);
        embedded.start();

请让我知道如何通过代码或tomcat配置启用嵌入式tomcat日志记录.

Please let me know how can i enable embedded tomcat logging through code or tomcat configuration.

推荐答案

默认情况下,嵌入式Tomcat使用JDK提供的日志记录配置.如果您尚未更改配置,则仅配置ConsoleHandler.如果要以编程方式添加FileHandler,则可以将其添加到root记录器中.这是一个通过在INFO级别附加消息来写入文件catalina.out的示例.这适用于Tomcat 6.x和7.x.

By default the embedded Tomcat uses the logging configuration provided by the JDK. If you haven't changed the configuration only a ConsoleHandler is configured. If you wanted to programmatically add a FileHandler you can add it to the root logger. Here's an example that writes to the file catalina.out by appending the messages on INFO level. This works for Tomcat 6.x and 7.x.

Logger logger = Logger.getLogger("");
Handler fileHandler = new FileHandler("catalina.out", true);
fileHandler.setFormatter(new SimpleFormatter());
fileHandler.setLevel(Level.INFO);
fileHandler.setEncoding("UTF-8");
logger.addHandler(fileHandler);

这篇关于如何启用嵌入式tomcat日志记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆