Hi,
ich habe ein einfaches Programm welches bei einem Event eine Nachricht
mit Hilfe von log4cpp in eine Log-Datei speichert.
main.cpp
1 | void initLogger(){
|
2 | log4cpp::PatternLayout* myLayout = new log4cpp::PatternLayout();
|
3 | //myLayout->setConversionPattern("%d [%p] %m%n");
|
4 | myLayout->setConversionPattern("%d{[%a] [%d-%m-%G] [%H:%M:%S]} [%c] %m%n"); //[Tue] [25-07-2023] [18:33:08]
|
5 |
|
6 | log4cpp::Appender *console = new log4cpp::OstreamAppender("console", &std::cout);
|
7 | console->setLayout(myLayout);
|
8 |
|
9 | log4cpp::Appender *file = new log4cpp::FileAppender("default", "program.log");
|
10 | file->setLayout(myLayout);
|
11 |
|
12 | Log.setPriority(log4cpp::Priority::INFO);
|
13 | Log.addAppender(console);
|
14 | Log.addAppender(file);
|
15 |
|
16 | MotionLogger.setPriority(log4cpp::Priority::INFO);
|
17 | MotionLogger.addAppender(console);
|
18 | MotionLogger.addAppender(file);
|
19 | }
|
20 | ..
|
21 | ..
|
22 | ..
|
23 | MotionLogger.info("Bewegung wurde erkannt von Sender -> %c%c%c", usbMsg[2], usbMsg[3], usbMsg[4]);
|
Alarm.service
1 | [Unit]
|
2 | Description=Alarmanlage
|
3 |
|
4 | [Service]
|
5 | Type=simple
|
6 | StandardOutput=journal
|
7 | ExecStart=/home/kali/cpp_test/alarm/main
|
8 |
|
9 | [Install]
|
10 | WantedBy=multi-user.target
|
Wenn ich das Programm mit ./main starte funktioniert alles.
Benutze ich
1 | sudo systemctl start Alarm
|
startet das Programm aber es wird keine program.log Datei angelegt.
Woran liegt das?