如何登录弹出引导jar文件异常
当您创建Tomcat嵌入式JAR文件并将其安装在服务器上时,如何访问异常?最近我的服务器和进程突然停止,我不知道发生了什么。我检查了Windows事件查看器,但找不到任何东西。 有没有什么地方例外在文件上写入异常?如何登录弹出引导jar文件异常
默认情况下,春季启动只登录到控制台并不会 写入日志文件。如果除了 控制台输出之外您还想写日志文件,您需要设置日志记录文件或logging.path属性 (例如在您的application.properties中)。
java -Dlogging.file=target/my_logfile.log -jar spring_boot_app.jar
or
java -Dlogging.path=target/logs -jar spring_boot_app.jar
(Will create spring.log file inside target/logs)
为了让生活更轻松,你可以使用logback.xml或的logback-spring.xml
以下是logback.xml的样本。将其包含在src/main/resources目录中。
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<!-- The FILE and ASYNC appenders are here as examples for a production configuration -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>90</maxHistory>
</rollingPolicy>
<encoder>
<charset>utf-8</charset>
<Pattern>%d %-5level [%thread] %logger{0}: %msg%n</Pattern>
</encoder>
</appender>
<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>512</queueSize>
<appender-ref ref="FILE"/>
</appender>
<!-- your project package -->
<logger name="com.test" level="INFO"/>
<!-- <logger name="javax.activation" level="WARN"/>
<logger name="javax.mail" level="WARN"/>
<logger name="javax.xml.bind" level="WARN"/>
<logger name="ch.qos.logback" level="WARN"/>
<logger name="com.codahale.metrics" level="WARN"/>
<logger name="com.ryantenney" level="WARN"/>
<logger name="com.sun" level="WARN"/>
<logger name="com.zaxxer" level="WARN"/>
<logger name="io.undertow" level="WARN"/>
<logger name="io.undertow.websockets.jsr" level="ERROR"/>
<logger name="org.apache" level="WARN"/>
<logger name="org.apache.catalina.startup.DigesterFactory" level="OFF"/>
<logger name="org.bson" level="WARN"/>
<logger name="org.hibernate.validator" level="WARN"/>
<logger name="org.hibernate" level="WARN"/>
<logger name="org.hibernate.ejb.HibernatePersistence" level="OFF"/>
<logger name="org.springframework" level="WARN"/>
<logger name="org.springframework.web" level="WARN"/>
<logger name="org.springframework.security" level="WARN"/>
<logger name="org.springframework.cache" level="WARN"/>
<logger name="org.thymeleaf" level="WARN"/>
<logger name="org.xnio" level="WARN"/>
<logger name="springfox" level="WARN"/>
<logger name="sun.rmi" level="WARN"/>
<logger name="liquibase" level="WARN"/>
<logger name="LiquibaseSchemaResolver" level="INFO"/>
<logger name="sun.rmi.transport" level="WARN"/> -->
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
</configuration>
以上配置将产生日志与名称的JAR文件的工作目录一样logFile.yyyy.MM.dd.log
我得到第一部分,它是作品。为了更好的生活,我想用第二部分的答案。如果可以的话,只需在资源中使用logback.xml命名文件的代码? – Kenji
是的,我测试了它最新的春季启动'1.5.6'。它应该工作。请将您的项目的基础包替换为'com.test'。 – 11thdimension
使用logback.xml vs @mike adamenko的答案有什么好处。我的意思是简单地把3行属性? – Kenji
您应该在您的类路径中添加application.properties文件并在其中设置日志记录属性。
如果您需要伐木唯一的变化是设置的 各种记录器的水平,那么你可以做的是,在使用 的“logging.level”前缀application.properties,例如
logging.level.org.springframework.web=DEBUG
logging.level.org.hibernate=ERROR
logging.file=C:\myapplication.log
您也可以使用“logging.file”设置文件的位置登录,以(除 控制台)。
见here
查找到您的TOMCAT_HOME catalina.out的文件/ logs目录 – Jens
@Jens其中是TOMCAT_HOME? – Kenji
这取决于你在哪里安装它 – Jens