gpt4 book ai didi

java - Log4j - 每个线程的文件日志

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:45:23 35 4
gpt4 key购买 nike

我有一个程序,一旦启动,它将多次执行流程(涉及的类很少)- 每次都在不同的线程中。流程是相同的 - 只是每次调用时向其发送不同的参数。

每个流将在自己的线程上执行。

我希望能够为每个线程定义一个文件追加程序(本质上是文件日志)——因此一旦流程开始,它就会以编程方式创建自己的日志文件并写入其中。

搜索过,但找不到简单的解决方案你能帮忙吗?

最佳答案

您可以通过编程方式执行此操作。例如:

class Task implements Runnable {

private final String path;
private final String name;

public Task(String path, String name) {
this.path = path;
this.name = name;
}

public void run() {
// Create file appender
FileAppender appender = new FileAppender();
appender.setFile(path);
appender.setLayout(new PatternLayout("%d [%t] %-5p %c - %m%n"));
appender.activateOptions();

// Get logger and add appender
Logger logger = Logger.getLogger(name);
logger.setAdditivity(false);
logger.addAppender(appender);

// Task
logger.info("Hello World!");

// Remove appender
logger.removeAppender(appender);
}

}

public static void main(String[] args) {
new Thread(new Task("logs/A.log", "com.company.A")).start();
new Thread(new Task("logs/B.log", "com.company.B")).start();
}

关于java - Log4j - 每个线程的文件日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28145162/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com