On Fri, Nov 12, 2010 at 05:04:41PM +0100, bs_li...@aakef.fastmail.fm wrote: > # HG changeset patch > # User Bernd Schubert <bernd.schub...@fastmail.fm> > # 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 <bschub...@ddn.com> > > 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? > syslog(priority, "[%d]: %s: %s%c", > entity_pid, pristr, buf, 0); -- : Lars Ellenberg : LINBIT | Your Way to High Availability : DRBD/HA support and consulting http://www.linbit.com DRBD® and LINBIT® are registered trademarks of LINBIT, Austria. _______________________________________________________ Linux-HA-Dev: Linux-HA-Dev@lists.linux-ha.org http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev Home Page: http://linux-ha.org/