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/

Reply via email to