this one에 대한 후속 질문인지 또는 별도의 질문인지 확실하지 않습니다. 클릭하지 않는 LogStash에 대한 설명이 있습니다. 이를 위해 관련 질문에 사과드립니다. 아직도, 나는 여기서 내 마음을 떠날거야.LogStash를 사용하는 JSON 변형 (Log4J)
로그를 파일에 쓰는 앱이 있습니다. 각 로그 항목은 JSON 객체입니다. 내 .json 파일의 예는 다음과 같습니다
{
"logger":"com.myApp.ClassName",
"timestamp":"1456976539634",
"level":"ERROR",
"thread":"pool-3-thread-19",
"message":"Danger. There was an error",
"throwable":"java.Exception"
},
{
"logger":"com.myApp.ClassName",
"timestamp":"1456976539649",
"level":"ERROR",
"thread":"pool-3-thread-16",
"message":"I cannot go on",
"throwable":"java.Exception"
}
이 형식은 Log4J2의 JsonLayout에서 만들어지는 것입니다. LogStash에 로그 항목을 가져 오기 위해 최선을 다하고 있습니다. 내가 /logs/out.log 열 때
input {
file {
type => "log4j"
path => "/logs/mylogs.log"
}
}
output {
file {
path => "/logs/out.log"
}
}
, 나는 엉망 참조 :이 작업을 수행하기 위해, 나는 다음과 같은 LogStash 구성 파일을 만들었습니다. JSON이 있습니다. 그러나 Log4J가 생성하는 "수준"속성 또는 "스레드"속성은 표시되지 않습니다. 레코드의 예는 다음에서 볼 수 있습니다.
{"message":"Danger. There was an error","@version":"1","@timestamp":"2014-04-08T17:20:10.035Z","type":"log4j","host":"ip-myAddress","path":"/logs/mylogs.log"}
때때로 구문 분석 오류가 발생합니다. 나는 여전히 부동산이되기 위해 내 부동산이 필요합니다. 나는 그들이 메시지 부분이나 출력에 몰두하는 것을 원하지 않는다. 나는 이것이 코덱과 관련이 있다는 점에 직감이 있습니다. 아직 확실하지 않습니다. Logstash 입력 구성에서 코덱을 변경해야하는지 잘 모르겠습니다. 또는 출력 구성에서 입력을 변경해야하는 경우. 나는이 시점에서 절망적이되어서 진심으로 모든 도움에 감사 할 것입니다.
죄송 합니다만, log4j 원본 파일과 logstash에서 동일한 내용을 갖는 목적은 무엇입니까? – vzamanillo