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. 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. 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). Thanks, Bernd _______________________________________________________ Linux-HA-Dev: [email protected] http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/
