Может ли rsyslog создать каталог?

Настройка

У меня есть это в моем / etc /rsyslog.conf:[12200 impression Затем у меня есть следующий сценарий Python ( test.py ):

import logging
import logging.handlers

logger = logging.getLogger('pxet.foo')
logger.addHandler(logging.handlers.SysLogHandler(address='/run/systemd/journal/syslog', facility='local1'))
logger.handlers[0].setLevel(logging.DEBUG)
logger.setLevel(logging.DEBUG)

logger.debug('test cockroach is a bug')

Проблема

Если я сделаю следующее:

rm -rf /path/to/my/log
systemctl restart rsyslog
python test.py

Я не получу сообщение журнала. Однако:

mkdir -p /path/to/my/log
python test.py

И все это работает.

Вопрос

Могу ли я заставить rsyslog создавать каталоги, если они не существуют, или мне придется делать это самому?

1
задан 5 January 2016 в 01:09
1 ответ

В документации ( http://www.rsyslog.com/doc/v8-stable/configuration/action/index.html#omfile-specific-configuration-statements ) говорится, что В rsyslog есть устаревшая опция конфигурации $ CreateDirs , позволяющая управлять тем, создавать ли каталоги по мере необходимости. (Существует вариант с аналогичным названием CreateDirs для следующего формата конфигурации, но в вашем примере используется устаревший формат.) Поэтому попробуйте строку:

$ CreateDirs на

непосредственно перед вашим

local1 . *? local1DynFile; строка local1LogFormat

.

2
ответ дан 3 December 2019 в 20:44

Теги

Похожие вопросы