Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Log4j线程名称混淆_Java_Java 8_Log4j - Fatal编程技术网

Java Log4j线程名称混淆

Java Log4j线程名称混淆,java,java-8,log4j,Java,Java 8,Log4j,以下是我们在生产中应用程序的部分日志。我们使用的是log4j 配置: <Console name="console" target="SYSTEM_OUT"> <PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" /> </Console> [INFO ] 2018-03-10 15:47:16.905 [WebCont

以下是我们在生产中应用程序的部分日志。我们使用的是log4j

配置:

<Console name="console" target="SYSTEM_OUT">
    <PatternLayout
        pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" />
</Console>


[INFO ] 2018-03-10 15:47:16.905 [WebContainer : 23] Logger -
[INFO ] 2018-03-10 15:47:16.905 [WebContainer : 23] Logger -
[INFO ] 2018-03-10 15:49:27.320 [WebContainer : 19] Logger - 
[INFO ] 2018-03-10 15:49:27.320 [WebContainer : 19] Logger - 
[INFO ] 2018-03-10 15:49:27.320 [WebContainer : 19] Logger - 
[INFO ] 2018-03-10 15:49:27.320 [WebContainer : 19] Logger - 
[INFO ] 2018-03-10 15:49:27.320 [WebContainer : 19] Logger - 
[INFO ] 2018-03-10 15:49:27.320 [WebContainer : 19] Logger - 
[INFO ] 2018-03-10 15:54:23.703 [WebContainer : 23] Logger - 
[INFO ] 2018-03-10 15:54:23.703 [WebContainer : 23] Logger - 
[INFO ] 2018-03-10 15:54:23.703 [WebContainer : 23] Logger - 
[INFO ] 2018-03-10 15:54:23.703 [WebContainer : 23] Logger - 

[信息]2018-03-10 15:47:16.905[网络内容者:23]记录器-
[信息]2018-03-10 15:47:16.905[网络内容者:23]记录器-
[信息]2018-03-10 15:49:27.320[网络内容:19]日志记录
[信息]2018-03-10 15:49:27.320[网络内容:19]日志记录
[信息]2018-03-10 15:49:27.320[网络内容:19]日志记录
[信息]2018-03-10 15:49:27.320[网络内容:19]日志记录
[信息]2018-03-10 15:49:27.320[网络内容:19]日志记录
[信息]2018-03-10 15:49:27.320[网络内容:19]日志记录
[信息]2018-03-10 15:54:23.703[网络内容:23]记录者-
[信息]2018-03-10 15:54:23.703[网络内容:23]记录者-
[信息]2018-03-10 15:54:23.703[网络内容:23]记录者-
[信息]2018-03-10 15:54:23.703[网络内容:23]记录者-
从那里你可以看到有一个线程名“WebContainer:19”和“WebContainer:23”。我们对线程名称感到困惑。具有相同的线程名称是否意味着它们来自相同的请求?我们可以说15:54:23.703发生在2018-03-10 15:47:16.905之后,属于同一个请求

这些线程名称是否仅表示同一类的一个进程组?上面的所有行都可以属于同一个请求,但对于在请求中执行的不同类,只是不同的线程名称


请告诉我。

每个webcontainer通常都有一个线程池。所有这些线程都在套接字上侦听并接受传入的TCP连接。一旦被接受,数据就可以从新建立的TCP连接中读取、解析并转换为HTTP请求

您在这些日志中看到的“WebContainer:19”和“WebContainer:23”是两个这样的线程,属于WebContainer线程池。是的,它们是不同的

每当每个线程有机会执行时,它都会显示在日志中,因此您可以在这些日志语句中观察到随机性


要优雅地处理线程的这种随机性,并使应用程序正确运行,必须使用多线程概念来构建此类应用程序。

WebContainer:23是线程 WebContainer:19是线程B

A和B两个请求由WebContainer处理