我目前正在尝试将数据记录到syslog中,我在java中使用“Runtime.getRuntime()。exec”语句来做到这一点。完整的声明是:
Runtime.getRuntime().exec("logger " + data.toString());
现在这个工作完美但看起来太简单了,我想知道如果直接使用它有不好的效果。此外,如果有更好的方法将数据(log4j库除外)记录到syslog,我将对它开放。谢谢。
您正在为每个日志条目生成一个新进程,这非常昂贵。此外,您可以通过将data.toString()传递到命令行来打开自己注射攻击。做Log4j库可能做的事情(如果你想要灵感,它是开源的)并发送UDP消息。这很便宜,也很便携。
data.toString()
如果你想从头开始编写网络代码,那么协议在rfc5424和rfc5426中定义。