将信息记录到服务器的默认日志文件中

时间:2017-12-19 08:38:16

标签: java logging jboss tomcat8

我的Dev机器有JBoss,而生产服务器在AWS上运行tomcat8。

如何设置Log (java.util.loggin)以登录默认目录中的默认日志文件,例如以下是每个服务器的日志文件的默认路径。 (没有第三方记录器)

  

/日志/ tomcat8 /卡塔利娜

     

jboss-4.0.4 / server / some_server_conf / log /

在我看过的code examples中,提供了FileHandler("file.log"),但此日志存在于项目文件夹的本地,无法在生产环境中从外部访问。我希望应用程序成为根日志记录系统的一部分,该系统将日志信息附加到默认目录和默认文件中。

横向思考:请告知生产服务器的策略是否完全不同。

部分原因是通过请求最后100行更容易从AWS查看日志文件,并且我希望在运行时附加一些关于我的应用程序的其他有意义的信息。 / p>

public class Service {

    private static Logger logger = Logger.getLogger("myproject");

    public Service() {
        logger.log(Level.INFO, "abc");

    }

}

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是在myproject的根记录器上简单地install java.util.logging.ConsoleHandler。这会将您的所有项目输出定向到tomcat8-stderr.YYYY-MM-DD.log

否则,您可以创建ServletContextListener并在项目的根记录器上安装自定义处理程序,格式化并记录到ServletContext.log methods