You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-user@logging.apache.org by Dale King <da...@gmail.com> on 2008/05/01 16:45:58 UTC
Why are there unimplemented filters defined?
It looks like there are a few filters that have header files, but no
source files. In particular, AndFilter, ExpressionFilter,
LocationInfoFilter, MapFilter and PropertyFilter appear to not be
implemented.
If there is no implementation I don't think the headers should be
included as this will confuse someone that sees them in the
documentation and tries to use them.
--
Dale King
Re: Why are there unimplemented filters defined?
Posted by Dale King <da...@gmail.com>.
There may have been code that compiled using those headers, but it
wouldn't have linked.
Found a bug perusing SyslogAppender (notice the repeated use of LOCAL1):
else if (StringHelper::equalsIgnoreCase(s,
LOG4CXX_STR("LOCAL0"), LOG4CXX_STR("local0")))
{
return LOG_LOCAL0;
}
else if (StringHelper::equalsIgnoreCase(s,
LOG4CXX_STR("LOCAL1"), LOG4CXX_STR("local1")))
{
return LOG_LOCAL1;
}
else if (StringHelper::equalsIgnoreCase(s,
LOG4CXX_STR("LOCAL1"), LOG4CXX_STR("local2")))
{
return LOG_LOCAL2;
}
else if (StringHelper::equalsIgnoreCase(s,
LOG4CXX_STR("LOCAL1"), LOG4CXX_STR("local3")))
{
return LOG_LOCAL3;
}
else if (StringHelper::equalsIgnoreCase(s,
LOG4CXX_STR("LOCAL1"), LOG4CXX_STR("local4")))
{
return LOG_LOCAL4;
}
else if (StringHelper::equalsIgnoreCase(s,
LOG4CXX_STR("LOCAL1"), LOG4CXX_STR("local5")))
{
return LOG_LOCAL5;
}
else if (StringHelper::equalsIgnoreCase(s,
LOG4CXX_STR("LOCAL1"), LOG4CXX_STR("local6")))
{
return LOG_LOCAL6;
}
else if (StringHelper::equalsIgnoreCase(s,
LOG4CXX_STR("LOCAL1"), LOG4CXX_STR("local7")))
{
return LOG_LOCAL7;
}
On Thu, May 1, 2008 at 11:22 AM, Curt Arnold <ca...@apache.org> wrote:
>
>
> On May 1, 2008, at 9:45 AM, Dale King wrote:
>
>
> > It looks like there are a few filters that have header files, but no
> > source files. In particular, AndFilter, ExpressionFilter,
> > LocationInfoFilter, MapFilter and PropertyFilter appear to not be
> > implemented.
> >
> > If there is no implementation I don't think the headers should be
> > included as this will confuse someone that sees them in the
> > documentation and tries to use them.
> >
> > -- Dale King
> >
>
>
> I've added LOGCXX-276 for this issue.
>
> The definitions were apparently added while porting over the log4j 1.3
> rolling file appender, but the implementations were not exercised by the
> unit tests and the lack of implementation was not noticed.
>
> Removing the headers could cause a program that successfully compiled to
> fail to compile. Would have been okay to pull them before the 0.10.0
> release, but now we need to keep compatibility until we are ready to jump to
> 0.11.x. The best way to fix the problem is to add the implementation in or
> if that is not possible to note in the headers that they are unimplemented.
>
--
Dale King
Re: Why are there unimplemented filters defined?
Posted by Curt Arnold <ca...@apache.org>.
On May 1, 2008, at 9:45 AM, Dale King wrote:
> It looks like there are a few filters that have header files, but no
> source files. In particular, AndFilter, ExpressionFilter,
> LocationInfoFilter, MapFilter and PropertyFilter appear to not be
> implemented.
>
> If there is no implementation I don't think the headers should be
> included as this will confuse someone that sees them in the
> documentation and tries to use them.
>
> --
> Dale King
I've added LOGCXX-276 for this issue.
The definitions were apparently added while porting over the log4j 1.3
rolling file appender, but the implementations were not exercised by
the unit tests and the lack of implementation was not noticed.
Removing the headers could cause a program that successfully compiled
to fail to compile. Would have been okay to pull them before the
0.10.0 release, but now we need to keep compatibility until we are
ready to jump to 0.11.x. The best way to fix the problem is to add
the implementation in or if that is not possible to note in the
headers that they are unimplemented.