You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4php-user@logging.apache.org by Manasi Sahasrabudhe <sm...@gmail.com> on 2011/12/07 23:43:15 UTC

Re: Trying to set filter from ini config

On Wed, Dec 7, 2011 at 2:39 PM, Manasi Sahasrabudhe <sm...@gmail.com>wrote:

> I am trying to set a new filter using ini config file.
>
> This is the error I get “PHP Fatal error:  Uncaught exception 'Exception'
> with message 'Error setting log4php property filter to
> LoggerFilterStringMatch: no method setFilter in class
> LoggerAppenderStringBuffer!'”
>
>
>
> log4php.appender.<appendername>.filter = LoggerFilterStringMatch
>
> log4php.appender.<appendername>.filter.AcceptOnMatch = true
>
> log4php.appender.<appendername>.filter.StringToMatch = <string>
>
>
>
> Any help will be appreciated.
>
> Thanks.
>

Re: Trying to set filter from ini config

Posted by Christian Grobmeier <gr...@gmail.com>.
On Thu, Dec 29, 2011 at 2:15 AM, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
> Is there a way to reset/flush logger?

This should be done when you call logger->shutdown() at the end of
your testscript, depending on the Appender you have chosen.

> When I run unit test cases from my logger I can see that logging output is
> appended to the previous testcase?
> any idea why?

Sounds scary, no idea at the moment what might happen in your setup.
Have you called shutdown after your testcases are run?
Another option might be call to logger->resetConfiguration

The log4php testcases do test logging (of course) maybe you find
something interesting there.
http://svn.apache.org/viewvc/logging/log4php/trunk/src/test/php/

Cheers
Christian

>
>
> On Wed, Dec 14, 2011 at 11:14 PM, Ivan Habunek <iv...@gmail.com>
> wrote:
>>
>> Hi Manasi,
>>
>> On 15 December 2011 00:23, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
>> > I recently upgraded from 2.0 to 2.1 version of log4php.
>>
>> Well, 2.2. will be out before new year. :-)
>>
>> > I have a log4php.ini like this,
>> > log4php.rootLogger=WARN, appender1, appender2, <myappender>
>>
>> Why do you have myappender surrounded with brackets (<>)?
>>
>> > <snip>
>> > And I still see that ALL events are being logged and filter does not
>> > work.
>> >
>> > Any thoughts/comments/suggestions?
>>
>> You are adding a filter which accepts messages with a certain string.
>> This filter will remain neutral for messages which do not contain this
>> string (it will not block them). If you want to block them you have to
>> chain another filter (probably LoggerFilterDenyAll). Then
>> LoggerFilterStringMatch will accept any messages containing the
>> specified string and those which do not will be handed to the next
>> filter which will deny them.
>>
>> I'm not sure why you're mentioning regex here since the string match
>> filter does not do regex...
>>
>> Regards,
>> Ivan
>
>



-- 
http://www.grobmeier.de
https://www.timeandbill.de

Re: Trying to set filter from ini config

Posted by Manasi Sahasrabudhe <sm...@gmail.com>.
Is there a way to reset/flush logger?

When I run unit test cases from my logger I can see that logging output is
appended to the previous testcase?
any idea why?

On Wed, Dec 14, 2011 at 11:14 PM, Ivan Habunek <iv...@gmail.com>wrote:

> Hi Manasi,
>
> On 15 December 2011 00:23, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
> > I recently upgraded from 2.0 to 2.1 version of log4php.
>
> Well, 2.2. will be out before new year. :-)
>
> > I have a log4php.ini like this,
> > log4php.rootLogger=WARN, appender1, appender2, <myappender>
>
> Why do you have myappender surrounded with brackets (<>)?
>
> > <snip>
> > And I still see that ALL events are being logged and filter does not
> work.
> >
> > Any thoughts/comments/suggestions?
>
> You are adding a filter which accepts messages with a certain string.
> This filter will remain neutral for messages which do not contain this
> string (it will not block them). If you want to block them you have to
> chain another filter (probably LoggerFilterDenyAll). Then
> LoggerFilterStringMatch will accept any messages containing the
> specified string and those which do not will be handed to the next
> filter which will deny them.
>
> I'm not sure why you're mentioning regex here since the string match
> filter does not do regex...
>
> Regards,
> Ivan
>

Re: Trying to set filter from ini config

Posted by Ivan Habunek <iv...@gmail.com>.
Hi Manasi,

On 15 December 2011 00:23, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
> I recently upgraded from 2.0 to 2.1 version of log4php.

Well, 2.2. will be out before new year. :-)

> I have a log4php.ini like this,
> log4php.rootLogger=WARN, appender1, appender2, <myappender>

Why do you have myappender surrounded with brackets (<>)?

> <snip>
> And I still see that ALL events are being logged and filter does not work.
>
> Any thoughts/comments/suggestions?

You are adding a filter which accepts messages with a certain string.
This filter will remain neutral for messages which do not contain this
string (it will not block them). If you want to block them you have to
chain another filter (probably LoggerFilterDenyAll). Then
LoggerFilterStringMatch will accept any messages containing the
specified string and those which do not will be handed to the next
filter which will deny them.

I'm not sure why you're mentioning regex here since the string match
filter does not do regex...

Regards,
Ivan

Re: Trying to set filter from ini config

Posted by Manasi Sahasrabudhe <sm...@gmail.com>.
I recently upgraded from 2.0 to 2.1 version of log4php.

I have a log4php.ini like this,
log4php.rootLogger=WARN, appender1, appender2, <myappender>

;; my appender
log4php.appender. myappender = LoggerAppenderFile
log4php.appender. myappender.file = /tmp/myappender.log
log4php.appender. myappender.layout = LoggerLayoutTTCC

in trace.php plugin class  for zend framework, my class looks something
like this where I am trying to add run-time filter to myappender.

                // create filter and add it to my appender.
                $regExFilter = new LoggerFilterStringMatch();
                $regExFilter->setAcceptOnMatch(true);
                $regExFilter->setStringToMatch($traceRx);
                $regExFilter->activateOptions();


                $myAppender = $this->_rootLogger->getAppender('myappender');
                $this->_rootLogger->debug("THIS IS AN APPENDER WITH
FILTER".print_r($myAppender, true));
                if ($myAppender !== null) {
                   $myAppender->clearFilters();
                   $myAppender->addFilter($regExFilter);
                        $this->_rootLogger->debug("THIS IS APPENDER WITH
FILTER".print_r($myAppender, true));

                }
And I still see that ALL events are being logged and filter does not work.

Any thoughts/comments/suggestions?

Thanks,
Manasi

On Fri, Dec 9, 2011 at 2:03 AM, Ivan Habunek <iv...@gmail.com> wrote:

> On 8 December 2011 00:16, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
> > We already have bunch of configs set in ini so I was wondering if I could
> > use thats already in place.
>
> Sure, we'll keep supporting ini config files, but any new features
> that are added may not be configurable through ini.
>
> > Also, I am working on a regular expression filter for trace i was
> wondering
> > is there anything available already?
>
> This has been planned for some time, but nothing is available at the
> moment. If you wish to contribute the code, it would be most welcome.
>
> Regards,
> Ivan
>

Re: Trying to set filter from ini config

Posted by Ivan Habunek <iv...@gmail.com>.
On 8 December 2011 00:16, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
> We already have bunch of configs set in ini so I was wondering if I could
> use thats already in place.

Sure, we'll keep supporting ini config files, but any new features
that are added may not be configurable through ini.

> Also, I am working on a regular expression filter for trace i was wondering
> is there anything available already?

This has been planned for some time, but nothing is available at the
moment. If you wish to contribute the code, it would be most welcome.

Regards,
Ivan

Re: Trying to set filter from ini config

Posted by Manasi Sahasrabudhe <sm...@gmail.com>.
Oh i forgot to mention we are using zend framework

On Wed, Dec 7, 2011 at 3:16 PM, Manasi Sahasrabudhe <sm...@gmail.com>wrote:

> We already have bunch of configs set in ini so I was wondering if I could
> use thats already in place.
>
> Also, I am working on a regular expression filter for trace i was
> wondering is there anything available already?
>
>
> On Wed, Dec 7, 2011 at 3:12 PM, Ivan Habunek <iv...@gmail.com>wrote:
>
>> Sure, that should work. Give it a try.
>>
>> Out of curiosity, why do you prefer ini config? We are trying to move
>> users more towards xml.
>>
>> Regards,
>> Ivan
>>
>> On 8 December 2011 00:10, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
>> > Can it be added runtime?
>> > something like,
>> >
>> >                 $rxFilter = new LoggerFilterStringMatch();
>> >                 $rxFilter->setStringToMatch($traceRx);
>> >                 $rxFilter->activateOptions();
>> >                 $rxFilter->setAcceptOnMatch(true);
>> >                 $allAppenders = $this->_rootLogger->getAllAppenders();
>> >                 foreach ($allAppenders as $appender) {
>> >                     $appender->clearFilters();
>> >                     $appender->addFilter($rxFilter);
>> >                 }
>> >
>> > On Wed, Dec 7, 2011 at 3:01 PM, Ivan Habunek <iv...@gmail.com>
>> wrote:
>> >>
>> >> Hi Manasi,
>> >>
>> >> Filters are not configurable using the ini configuration file. You
>> >> have to use XML configuration for that.
>> >>
>> >> Please have a look at the docs:
>> >> http://logging.apache.org/log4php/docs/appender/filter.html
>> >>
>> >> Best regards,
>> >> Ivan
>> >>
>> >>
>> >>
>> >> On 7 December 2011 23:43, Manasi Sahasrabudhe <sm...@gmail.com>
>> wrote:
>> >> >
>> >> >
>> >> > On Wed, Dec 7, 2011 at 2:39 PM, Manasi Sahasrabudhe <
>> smanad@gmail.com>
>> >> > wrote:
>> >> >>
>> >> >> I am trying to set a new filter using ini config file.
>> >> >>
>> >> >> This is the error I get “PHP Fatal error:  Uncaught exception
>> >> >> 'Exception'
>> >> >> with message 'Error setting log4php property filter to
>> >> >> LoggerFilterStringMatch: no method setFilter in class
>> >> >> LoggerAppenderStringBuffer!'”
>> >> >>
>> >> >>
>> >> >>
>> >> >> log4php.appender.<appendername>.filter = LoggerFilterStringMatch
>> >> >>
>> >> >> log4php.appender.<appendername>.filter.AcceptOnMatch = true
>> >> >>
>> >> >> log4php.appender.<appendername>.filter.StringToMatch = <string>
>> >> >>
>> >> >>
>> >> >>
>> >> >> Any help will be appreciated.
>> >> >>
>> >> >> Thanks.
>> >> >
>> >> >
>> >
>> >
>>
>
>

Re: Trying to set filter from ini config

Posted by Manasi Sahasrabudhe <sm...@gmail.com>.
We already have bunch of configs set in ini so I was wondering if I could
use thats already in place.

Also, I am working on a regular expression filter for trace i was wondering
is there anything available already?

On Wed, Dec 7, 2011 at 3:12 PM, Ivan Habunek <iv...@gmail.com> wrote:

> Sure, that should work. Give it a try.
>
> Out of curiosity, why do you prefer ini config? We are trying to move
> users more towards xml.
>
> Regards,
> Ivan
>
> On 8 December 2011 00:10, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
> > Can it be added runtime?
> > something like,
> >
> >                 $rxFilter = new LoggerFilterStringMatch();
> >                 $rxFilter->setStringToMatch($traceRx);
> >                 $rxFilter->activateOptions();
> >                 $rxFilter->setAcceptOnMatch(true);
> >                 $allAppenders = $this->_rootLogger->getAllAppenders();
> >                 foreach ($allAppenders as $appender) {
> >                     $appender->clearFilters();
> >                     $appender->addFilter($rxFilter);
> >                 }
> >
> > On Wed, Dec 7, 2011 at 3:01 PM, Ivan Habunek <iv...@gmail.com>
> wrote:
> >>
> >> Hi Manasi,
> >>
> >> Filters are not configurable using the ini configuration file. You
> >> have to use XML configuration for that.
> >>
> >> Please have a look at the docs:
> >> http://logging.apache.org/log4php/docs/appender/filter.html
> >>
> >> Best regards,
> >> Ivan
> >>
> >>
> >>
> >> On 7 December 2011 23:43, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
> >> >
> >> >
> >> > On Wed, Dec 7, 2011 at 2:39 PM, Manasi Sahasrabudhe <smanad@gmail.com
> >
> >> > wrote:
> >> >>
> >> >> I am trying to set a new filter using ini config file.
> >> >>
> >> >> This is the error I get “PHP Fatal error:  Uncaught exception
> >> >> 'Exception'
> >> >> with message 'Error setting log4php property filter to
> >> >> LoggerFilterStringMatch: no method setFilter in class
> >> >> LoggerAppenderStringBuffer!'”
> >> >>
> >> >>
> >> >>
> >> >> log4php.appender.<appendername>.filter = LoggerFilterStringMatch
> >> >>
> >> >> log4php.appender.<appendername>.filter.AcceptOnMatch = true
> >> >>
> >> >> log4php.appender.<appendername>.filter.StringToMatch = <string>
> >> >>
> >> >>
> >> >>
> >> >> Any help will be appreciated.
> >> >>
> >> >> Thanks.
> >> >
> >> >
> >
> >
>

Re: Trying to set filter from ini config

Posted by Ivan Habunek <iv...@gmail.com>.
Sure, that should work. Give it a try.

Out of curiosity, why do you prefer ini config? We are trying to move
users more towards xml.

Regards,
Ivan

On 8 December 2011 00:10, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
> Can it be added runtime?
> something like,
>
>                 $rxFilter = new LoggerFilterStringMatch();
>                 $rxFilter->setStringToMatch($traceRx);
>                 $rxFilter->activateOptions();
>                 $rxFilter->setAcceptOnMatch(true);
>                 $allAppenders = $this->_rootLogger->getAllAppenders();
>                 foreach ($allAppenders as $appender) {
>                     $appender->clearFilters();
>                     $appender->addFilter($rxFilter);
>                 }
>
> On Wed, Dec 7, 2011 at 3:01 PM, Ivan Habunek <iv...@gmail.com> wrote:
>>
>> Hi Manasi,
>>
>> Filters are not configurable using the ini configuration file. You
>> have to use XML configuration for that.
>>
>> Please have a look at the docs:
>> http://logging.apache.org/log4php/docs/appender/filter.html
>>
>> Best regards,
>> Ivan
>>
>>
>>
>> On 7 December 2011 23:43, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
>> >
>> >
>> > On Wed, Dec 7, 2011 at 2:39 PM, Manasi Sahasrabudhe <sm...@gmail.com>
>> > wrote:
>> >>
>> >> I am trying to set a new filter using ini config file.
>> >>
>> >> This is the error I get “PHP Fatal error:  Uncaught exception
>> >> 'Exception'
>> >> with message 'Error setting log4php property filter to
>> >> LoggerFilterStringMatch: no method setFilter in class
>> >> LoggerAppenderStringBuffer!'”
>> >>
>> >>
>> >>
>> >> log4php.appender.<appendername>.filter = LoggerFilterStringMatch
>> >>
>> >> log4php.appender.<appendername>.filter.AcceptOnMatch = true
>> >>
>> >> log4php.appender.<appendername>.filter.StringToMatch = <string>
>> >>
>> >>
>> >>
>> >> Any help will be appreciated.
>> >>
>> >> Thanks.
>> >
>> >
>
>

Re: Trying to set filter from ini config

Posted by Manasi Sahasrabudhe <sm...@gmail.com>.
Can it be added runtime?
something like,

                $rxFilter = new LoggerFilterStringMatch();
                $rxFilter->setStringToMatch($traceRx);
                $rxFilter->activateOptions();
                $rxFilter->setAcceptOnMatch(true);
                $allAppenders = $this->_rootLogger->getAllAppenders();
                foreach ($allAppenders as $appender) {
                    $appender->clearFilters();
                    $appender->addFilter($rxFilter);
                }

On Wed, Dec 7, 2011 at 3:01 PM, Ivan Habunek <iv...@gmail.com> wrote:

> Hi Manasi,
>
> Filters are not configurable using the ini configuration file. You
> have to use XML configuration for that.
>
> Please have a look at the docs:
> http://logging.apache.org/log4php/docs/appender/filter.html
>
> Best regards,
> Ivan
>
>
>
> On 7 December 2011 23:43, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
> >
> >
> > On Wed, Dec 7, 2011 at 2:39 PM, Manasi Sahasrabudhe <sm...@gmail.com>
> > wrote:
> >>
> >> I am trying to set a new filter using ini config file.
> >>
> >> This is the error I get “PHP Fatal error:  Uncaught exception
> 'Exception'
> >> with message 'Error setting log4php property filter to
> >> LoggerFilterStringMatch: no method setFilter in class
> >> LoggerAppenderStringBuffer!'”
> >>
> >>
> >>
> >> log4php.appender.<appendername>.filter = LoggerFilterStringMatch
> >>
> >> log4php.appender.<appendername>.filter.AcceptOnMatch = true
> >>
> >> log4php.appender.<appendername>.filter.StringToMatch = <string>
> >>
> >>
> >>
> >> Any help will be appreciated.
> >>
> >> Thanks.
> >
> >
>

Re: Trying to set filter from ini config

Posted by Ivan Habunek <iv...@gmail.com>.
Hi Manasi,

Filters are not configurable using the ini configuration file. You
have to use XML configuration for that.

Please have a look at the docs:
http://logging.apache.org/log4php/docs/appender/filter.html

Best regards,
Ivan



On 7 December 2011 23:43, Manasi Sahasrabudhe <sm...@gmail.com> wrote:
>
>
> On Wed, Dec 7, 2011 at 2:39 PM, Manasi Sahasrabudhe <sm...@gmail.com>
> wrote:
>>
>> I am trying to set a new filter using ini config file.
>>
>> This is the error I get “PHP Fatal error:  Uncaught exception 'Exception'
>> with message 'Error setting log4php property filter to
>> LoggerFilterStringMatch: no method setFilter in class
>> LoggerAppenderStringBuffer!'”
>>
>>
>>
>> log4php.appender.<appendername>.filter = LoggerFilterStringMatch
>>
>> log4php.appender.<appendername>.filter.AcceptOnMatch = true
>>
>> log4php.appender.<appendername>.filter.StringToMatch = <string>
>>
>>
>>
>> Any help will be appreciated.
>>
>> Thanks.
>
>