파이썬에서 로그모듈에
핸들러 2개 만들어서
인포 이상 에러,크리티컬 제외는 stdout
에러, 크리티컬은 stderr로
출력되게 했는데
각각 따로 작동하거나
같이 작동해도 로그가 띄엄띄엄 나올때는 문제가 없는데
많은 로그가 동시에 나올때는
두 문장이 한문장으로 합쳐서 괴상한 문장으로 나오는 경우가 생김
ex)
stdout: 1234
stderr: 5678
-> 12567834
3번 핸들러로 파일 저장하게 하니까
저장은 정상적으로 됨
파이썬에서 로그모듈에
핸들러 2개 만들어서
인포 이상 에러,크리티컬 제외는 stdout
에러, 크리티컬은 stderr로
출력되게 했는데
각각 따로 작동하거나
같이 작동해도 로그가 띄엄띄엄 나올때는 문제가 없는데
많은 로그가 동시에 나올때는
두 문장이 한문장으로 합쳐서 괴상한 문장으로 나오는 경우가 생김
ex)
stdout: 1234
stderr: 5678
-> 12567834
3번 핸들러로 파일 저장하게 하니까
저장은 정상적으로 됨
stdout이랑 stderr둘 중 하나 선택할 수 있게 하는 핸들러 만들어놓고 덱 구성해서 순차적으로 나가게 만들어야하나..
화면에 출력하는 거 말하는 거면 당연하지 둘이 같은 곳에 뿌려지는데 화면에 뿌리는 거 말고 통신용으로 쓸 땐 둘이 겹칠 일은 없지
ㄹㅇ 답은 덱뿐이네... 덕분에 명쾌해짐
아 아니지 큐..
근데 로그 메시지는 일괄적으로 stderr로 나가게 해야 맞는거 아냐?
stderr만 쓰면 쉘스크립트에서 리다이렉션으로 활용하기 힘들지 않음?
힘든건 아니고 쉘 리다이렉션을 좀 써야지
https://wiki.bash-hackers.org/howto/redirection_tutorial#an_example
이런
식으로 하면 되긴 되는데 존나 복잡하긴 하네
mkfifo 쓰는 것도 한 방법인듯
이 댓글 보고 좀 생각해봤는데 그냥 stderr로 다 해버리는게 속편할듯
로그는 에러로 하는게좋다
stdout은 보통 버퍼링하기때문에 그런거같음