Hi, On Mon, Nov 15, 2010 at 03:42:21PM +0100, Bernd Schubert wrote: > On Friday, November 12, 2010, Lars Ellenberg wrote: > > On Fri, Nov 12, 2010 at 05:04:41PM +0100, [email protected] wrote: > > > # HG changeset patch > > > # User Bernd Schubert <[email protected]> > > > # Date 1289577717 -3600 > > > # Node ID 975046c034e72b7edcdc5fcd2f14edcca83fe937 > > > # Parent b4cf81f29f57fa7b6afe1f6dfbf8efaa6511accd > > > cl_log: Always print the common log entity to syslog messages > > > > > > Pacemaker logs a lot of messages to system logs and always > > > with different entities. As different entities are difficult > > > to filter out with a generic rule, we always add the common > > > log entity for syslog messages. That allows to write a simple > > > filter rules. > > > > > > Using local log facilities also often does not work out, as > > > those can freely taken by any daemon. Especially when one relies > > > on that to filter out messages from the generic log file > > > (usually /var/log/messages), relying on a local facility might have > > > unwanted side effects. > > > > > > Signed-off-by: Bernd Schubert <[email protected]> > > > > > > diff --git a/lib/clplumbing/cl_log.c b/lib/clplumbing/cl_log.c > > > --- a/lib/clplumbing/cl_log.c > > > +++ b/lib/clplumbing/cl_log.c > > > @@ -531,7 +531,7 @@ cl_direct_log(int priority, const char* > > > > > > int needprivs = !cl_have_full_privs(); > > > > > > if (entity == NULL){ > > > > > > - entity =cl_log_entity; > > > + entity = cl_log_entity; > > > > > > } > > > > > > pristr = use_priority_str ? prio2str(priority) : ""; > > > > > > @@ -541,13 +541,10 @@ cl_direct_log(int priority, const char* > > > > > > } > > > > > > if (syslog_enabled) { > > > > > > - if (entity) { > > > - strncpy(common_log_entity, entity, MAXENTITY); > > > - } else { > > > - strncpy(common_log_entity, DFLT_ENTITY, MAXENTITY); > > > - } > > > - > > > - common_log_entity[MAXENTITY-1] = '\0'; > > > + if (!entity) > > > + entity = ""; > > > + snprintf(common_log_entity, MAXENTITY, "%s %s", > > > + cl_log_entity, entity); > > > > This may truncate entity, and of course breaks existing filtering setups > > that trigger on it.
Right. So, this needs to be optional. > > Are we sure that adding in the "cl_log_entity" to > > the "entity" is worth it? > > Alternatives (may be worse, I don't know): > > rather prepend it to the message? > > make sure cl_log_entity is very short? > > Or does it fit for all practical purposes, anyways? > > In loggingdaemon.h: > > /* Messages sent to the logging daemon */ > #define LD_LOGIT 2 > #define MAXENTITY 32 > > > I don't think there is a risk to get above that. But I have no objections to > increase it. Probably not though one never knows. > As I wrote in the patch comment, filter rules based on localX are not optimal > and filtering on "localX *and* a-single-word" does not work, as there is no > common-log entity so far (I always found that quite annoying). Don't worry, some will get annoyed by the new format. BTW, can you show what would a message look like? Cheers, Dejan > Thanks, > Bernd > _______________________________________________________ > Linux-HA-Dev: [email protected] > http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev > Home Page: http://linux-ha.org/ _______________________________________________________ Linux-HA-Dev: [email protected] http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/
