use instance-name for syslog?

Aki Tuomi aki.tuomi at dovecot.fi
Tue Jun 26 09:25:56 EEST 2018



On 01.06.2018 05:46, SATOH Fumiyasu wrote:
> On Fri, 01 Jun 2018 03:40:07 +0900,
> Timo Sirainen wrote:
>>>> When running multiple instances of dovecot on the same host (or running multiple docker container),
>>>> it is hard to distinguish logs from different processes: the syslog entries are all prefixed with the same identifier "dovecot"
>>>> It is hardcoded here:
>>>> https://github.com/dovecot/core/blob/master/src/lib-master/master-service.c#L420
>>>>
>>>> Would it make sense to use the already implemented instance-name as syslog ident?
>>>> How do others solve that problem?
>>> I have a patchset to implement that. Please see the attachment.
>>> Subject: [PATCH 1/2] master: Do not prepend "dovecot-" to a process name
>> Why not? I'd think it would be useful to always find dovecot processes.
> I want to use 'director/*' names, not 'dovecot-director/*'
> for short name.
>
>>> -	openlog(ident, options, facility);
>>> +	static char *syslog_ident = NULL;
>>> +
>>> +	i_free(syslog_ident);
>>> +	syslog_ident = i_strdup(ident);
>>> +
>>> +	openlog(syslog_ident, options, facility);
>>
>> I don't think this is necessary?
> Sorry. I'm not expert of Dovecot implementation...
>
>>> +		env_put(t_strconcat("INSTANCE_NAME=", set->instance_name, NULL));
>> Also not needed.
> I think $INSTANCE_NAME environment variable is useful for
> external program, e.g., custom checkpassword program.
>
>> But yeah, I guess in general it would make sense to use instance_name for syslog ident.
>>
> Thanks.
>

This feature has been merged.

Aki


More information about the dovecot mailing list