こんにちは
ソフトな道をほのぼのと今日も歩きます。
Linuxにおけるアプリ開発をしています。
エラー出力をどうするかを検討しています。
ターミナル上に表示するのと、syslogを行いたいのですが、
あとで面倒な思いをしたくないので関数を作成して、
その中で、必要に応じて変更していけば、作業効率はいいと思いました。
以下載せておきます。
void PRINT_ERR_Message(int rtc, char* file, int line, char* message)
{
syslog(LOG_ERR, "Error: 0x%x %s (%s %d) \n", rtc,message,file,line );
printf("Error: 0x%x %s (%s %d) \n", rtc,message,file,line);
}
[使用例]
PRINT_ERR_Message(rtc, __FILE__, __LINE__ , "正常終了");
PRINT_ERR_Message(rtc, __FILE__, __LINE__ , "");
[結果]
Error: 0x0 正常終了 (./bios/main.c 102)
Error: 0x0 (./bios/main.c 104)
syslog内を見てみましょう。
cat /var/log/syslog | tail -10
Jan 1 00:01:05 localhost : Error: 0x0 正常終了 (./bios/main.c 102)
Jan 1 00:01:05 localhost : Error: 0x0 (null) (./bios/main.c 103)
Jan 1 00:01:05 localhost : Error: 0x0 (./bios/main.c 104)
以上です。
[環境]
私の使用環境は VMware 上でUbuntu14.04を使用しています。