假设我有三个类A,B和C在不同的线程(tA,tB和tC)中工作,并且它们都有自己的class A {
public static final Logger LOGGER = LoggerFactory.getLogger(A.class);
public void start() {
LOGGER.info("TestA");
LOGGER.info("TestA");
LOGGER.info("TestA");
}
}
class B {
public static final Logger LOGGER = LoggerFactory.getLogger(B.class);
public void start() {
LOGGER.info("TestB");
LOGGER.info("TestB");
LOGGER.info("TestB");
}
}
class A {
public static final Logger LOGGER = LoggerFactory.getLogger(C.class);
public void start() {
LOGGER.info("TestC");
LOGGER.info("TestC");
LOGGER.info("TestC");
}
}
实例。
现在我的输出搞得一团糟,因为这三个类的记录中没有顺序。是否有可能按照外观的顺序对记录进行排序?
例如:
TestA
TestA
TestB
TestB
TestA
TestC
TestC
TestB
TestC
输出:
TestA
TestA
TestA
TestB
TestB
TestB
TestC
TestC
TestC
我想要的是:
{
"query": {
"bool": {
"must": {
"bool": {
"should": [
{
"constant_score": {
"query": {
"query_string": {
"query": "http\\:\\/\\/example.sample.com\\/guide\\/Analyzers_Terms_and_Analysis_%28ABC%29_Guide",
"fields": [
"noteText"
],
"analyzer": "match_phrase_search"
}
},
"boost": 5
}
},
{
"query_string": {
"query": "http\\:\\/\\/example.sample.com\\/guide\\/Analyzers_Terms_and_Analysis_%28ABC%29_Guide",
"fields": [
"noteText.ngrammed"
]
}
}
]
}
}
}
},
"highlight": {
"require_field_match": true,
"fields": {
"noteText": {},
"noteText.ngrammed": {}
},
"fragment_size": 100,
"number_of_fragments": 3
}
}
答案 0 :(得分:1)
由于日志记录是按时间定义的,因此尝试认为你可以实现类似的东西是没有意义的(当然,没有额外的工作)。
您可以做的是将thread ID添加到日志记录布局中。然后,您可以使用其他工具(例如grep
)来隔离您希望查看的特定线程的日志记录,甚至可以按线程ID对日志进行排序,这将按顺序为每个线程提供日志。