下面我来为您详细讲解如何通过 Java 启动 Jar 包并将日志打印到文本的简单操作攻略。
简介
在 Java 中,我们可以通过 log4j、logback 等成熟的日志框架来记录日志。而在启动 Jar 包时,如果想将程序运行过程中产生的日志打印到文本,可以在启动命令中加入 log4j 配置文件,并指定日志文件的输出路径。
操作步骤
1. 编写 log4j 配置文件
首先,我们需要编写一个 log4j 的配置文件,以指定日志的输出路径和格式等信息。以下是一个简单的 log4j 配置文件示例:
# 设置日志输出级别为 INFO
log4j.rootLogger=INFO, stdout, file
# 控制台输出日志
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%p] %d %c - %m%n
# 文件输出日志
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=myApp.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p] %d %c - %m%n
以上配置文件中,我们将日志输出级别设置为 INFO 级别,将日志同时输出到控制台和文件中。其中文件输出的文件名为 myApp.log,最大文件大小为 10MB,最多保留 10 个备份日志文件。
2. 启动 Jar 包并指定 log4j 配置
接下来,我们可以通过 Java 命令来启动 Jar 包,并将 log4j 配置文件加入到命令中。以下是启动命令的示例:
java -Dlog4j.configuration=file:/path/to/log4j.properties -jar myapp.jar
在上面的命令中,我们通过 -D 参数指定了 log4j 配置文件的路径,并将路径改为了绝对路径,以免发生路径错误。然后继续执行 -jar 命令启动 Jar 包。在程序启动后,日志将会按照我们在 log4j 配置中指定的方式输出到指定的文件中。
如果需要在程序中使用 log4j 记录日志,可以通过如下方式获取 log4j 实例:
import org.apache.log4j.Logger;
public class MyClass {
private static final Logger LOGGER = Logger.getLogger(MyClass.class);
...
}
以上就是启动 Jar 包并将日志打印到文本的简单操作攻略。
示例说明
下面我为您演示一下在启动 Spring Boot 应用时,如何将日志输出到指定文件中。
1. 编写 logback 配置文件
在 Spring Boot 应用中,我们通常使用 logback 日志框架,在项目根目录下的 resources 目录中创建 logback-spring.xml 文件,并在其中指定日志文件的输出路径和格式等信息。以下是一个简单的 logback 配置文件示例:
<configuration>
<!-- 控制台输出 -->
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%level] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 文件输出 -->
<appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<append>true</append>
<file>logs/myapp.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/myapp.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] [%level] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 为根 Logger 定义两个 Appender -->
<root level="info">
<appender-ref ref="consoleAppender"/>
<appender-ref ref="fileAppender"/>
</root>
</configuration>
以上配置文件中,我们将日志同时输出到控制台和文件中。其中文件输出的目录为 logs,文件名为 myapp.log,然后根据时间和文件大小等因素来滚动备份日志文件。
2. 指定 logback 配置文件并启动应用
在启动 Spring Boot 应用时,我们可以通过添加 JVM 参数来指定 logback 配置文件的路径,以及指定日志文件的输出目录。以下是启动命令的示例:
java -Dlogging.config=/path/to/logback-spring.xml -Dlogging.path=/path/to/logs -jar myapp.jar
在上面的命令中,我们通过 -D 参数指定了 logback 配置文件的路径和日志文件的输出目录,并将路径改为了绝对路径,以免发生路径错误。然后继续执行 -jar 命令启动应用。在应用启动后,日志将会按照我们在 logback 配置中指定的方式输出到指定的文件中,并滚动备份日志文件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java启动jar包将日志打印到文本的简单操作 - Python技术站