如何从JAVA文件中获取日志

如何从JAVA文件中获取日志,java,shell,tomcat,logging,log4j,Java,Shell,Tomcat,Logging,Log4j,我有一个单独的jar文件,可以做一些事情。它实际上部署在tomcat中。在这个jar中,我有一个带有main方法的java文件。假设类名为StartPoint。我通过“JavaStartPointCheckStatus”从shell脚本调用该主方法。main方法验证checkStatus参数并相应地执行作业。jar中的所有java文件都使用log4j,并使用log.info/log.debug进行日志记录。如果tomcat启动,这些日志工作正常。由于某些需求,我从shell脚本触发了main方法

我有一个单独的jar文件,可以做一些事情。它实际上部署在tomcat中。在这个jar中,我有一个带有main方法的java文件。假设类名为StartPoint。我通过“JavaStartPointCheckStatus”从shell脚本调用该主方法。main方法验证checkStatus参数并相应地执行作业。jar中的所有java文件都使用log4j,并使用log.info/log.debug进行日志记录。如果tomcat启动,这些日志工作正常。由于某些需求,我从shell脚本触发了main方法,现在我无法获取这些日志信息。请帮助我如何使用logger.info/debug添加日志?

因此,我相信当您直接调用StartPoint main方法时,您只需要确保
log4j.properties/log4j.xml
位于类路径上。

尝试用log4j配置文件路径传递其他参数:

-Dlog4j.configuration={path to file}


我的类路径中有WEB-INF/lib/log4j-1.2.8.jar,这够了吗?不仅仅是jar是不够的,基本上log4j从log4j.properties/log4j.xml读取配置,例如日志(控制台、文件等)的放置位置、文件滚动、日志日期格式等。您需要确保这个配置文件存在于您的类路径中。我使用的是一个独立的java程序,它位于我的项目的jar中。我单独从shell脚本调用那个特定的文件。那么,您如何调用这个应用程序表单shell脚本呢?类似这样的内容:java-jar.jar?export CLASSPATH=…我的所有jar,包括project.jar-Dlog4j.configuration={path to file}java-cp${CLASSPATH}com.pack.StartPoint checkstatus您在CLASSPATH中有环境属性:'-Dlog4j.configuration={path to file}'。我认为应该是这样的java-Dlog4j.configuration={path to file}-cp${CLASSPATH}com.pack.StartPoint checkStatus