Linux / Unix Syslog使用ACE将不需要的字符写入日志消息

时间:2017-12-27 17:36:10

标签: linux rsyslog ace

我使用ACE函数在多线程环境中向Linux syslog发送日志消息: ACE_Log_Msg()。

在大约5%的日志消息中,我的syslog输出中出现了不需要的额外字符。 我用来向ACE发送日志消息的代码如下:

#include "ace/Log_Msg.h"

ACE_Mutex syslog_mtx;
int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
  ACE_Guard<ACE_Mutex> mtx (syslog_mtx);

  ACE_LOG_MSG->open (argv[0], ACE_Log_Msg::SYSLOG, ACE_TEXT ("syslogTest"));

  ACE_DEBUG ((LM_INFO, ACE_TEXT (L"my log message\n")));

  ACE_LOG_MSG->open (argv[0], ACE_Log_Msg::STDERR, ACE_TEXT ("syslogTest"));

  return 0;
}

我在syslog中看到的日志消息如下所示:

Oct 9 15:25:20 SYSLOG ~[62266]: my log message
Oct 9 15:25:20 SYSLOG ``[62266]: 6]: my log message

正如您所看到的,额外的字符:〜,``,6]:似乎插入了应用程序名称/进程ID以syslog格式显示的位置。 我似乎无法理解该bug的可能来源。我很高兴听到有关可能原因的建议。

1 个答案:

答案 0 :(得分:0)

删除Sub PintarColores() Dim p As Point Worksheets(2).ChartObjects(1).Activate For Each p In ActiveChart.SeriesCollection(1).Points p.Format.Fill.ForeColor.RGB = rgbRed Next End Sub 之前L,ACE_TEXT已经处理