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?