在Java中,我想拦截我的流程stdout
和stderr
。我不想阻止它最终进入控制台/默认目的地,但是在每个换行符中,我都需要将该行复制到我自己的日志文件中(使用一些格式和HTML化)。我可以看到这样做的唯一方法是something like this - 这可能有用,但我担心不同的字符集,最终希望以与以前相同的方式格式化输出而不是抑制它,我需要在每个换行符处理它,而不是在刷新时(即使使用auto-flush = true)。
是否有某种类型的库使这更容易?
答案 0 :(得分:0)
但是在每个换行符中,我都需要将该行复制到我自己的日志文件中(使用一些格式和HTML化)。
为什么不考虑经典的Unix实用程序tee
?演示:
tail -f source | tee tee.sink
echo "foo" >> source
- 你应该看到" foo"也在您的终端cat tee.sink
应显示foo
。或者我误解了你想要的东西?