TEventLog не пишет в системный журнал
Я использую Free Pascal (Lazarus) для разработки простого серверного демона. Проблема, с которой я сталкиваюсь, заключается в том, что компонент TEventLog не записывает в системный журнал.
Я использую следующий код:
EventLog1.LogType := ltSystem;
EventLog1.Active := True;
EventLog1.Log('Application has started!');
Вместо записи в системный журнал он создает файл с именем в качестве исполняемого файла и записывает туда. Есть ли другой способ, которым я могу записать в системный журнал? Является openlog
определены в любой единице, которую я могу использовать?
1 ответ
(Предполагается, что вы используете *nix и самую последнюю версию 2.6.2).
Нет, функции libc log* кажутся только объявленными в реализации eventlog. Возможно, они находятся в модуле libc, но это в основном не поддерживается, и только в linux/32bit.
Проверьте некоторые предположения:
- Активно false перед установкой logtype, иначе active:=true может не перепроверить его.
- Вы хотите написать системный журнал, достаточно ли у вас прав для этого?
- Вы видите что-нибудь со strace/ktrace/truss?