java thread里怎么打印log
时间: 2023-07-31 21:09:20 浏览: 76
在Java中,可以使用日志框架(如Log4j、Logback等)来记录线程中的日志。这些日志框架提供了丰富的API来记录日志,并且可以配置输出日志的级别、格式和目标位置。
以下是使用Log4j记录线程日志的示例代码:
1. 首先,需要在项目中引入Log4j依赖,并在classpath路径下添加log4j.properties配置文件。
2. 在线程类中,使用Log4j的Logger对象记录日志:
```java
import org.apache.log4j.Logger;
public class MyThread extends Thread {
private static final Logger logger = Logger.getLogger(MyThread.class);
@Override
public void run() {
logger.debug("Debug log from thread");
logger.info("Info log from thread");
logger.warn("Warn log from thread");
logger.error("Error log from thread");
}
}
```
在run()方法中,使用Logger对象记录不同级别的日志,例如debug、info、warn和error。
3. 在log4j.properties配置文件中,配置日志输出的目标位置、格式和级别:
```properties
# Set root logger level to DEBUG and its only appender to CONSOLE.
log4j.rootLogger=DEBUG, CONSOLE
# Define the console appender
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Define the logger for MyThread class
log4j.logger.MyThread=DEBUG
```
在上面的配置文件中,设置根Logger的级别为DEBUG,并且只有一个输出目标位置为控制台的Appender。同时,定义了MyThread类的Logger级别为DEBUG,可以输出debug及以上级别的日志。
通过这种方式,就可以在Java线程中使用Log4j框架来记录日志了。