You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4php-dev@logging.apache.org by "David Hilowitz (Updated) (JIRA)" <ji...@apache.org> on 2011/12/22 00:49:30 UTC

[jira] [Updated] (LOG4PHP-166) LoggerAppenderMongoDB should supply a timeout value to the Mongo() constructor when it connects for the first time.

     [ https://issues.apache.org/jira/browse/LOG4PHP-166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Hilowitz updated LOG4PHP-166:
-----------------------------------

      Component/s: Code
    Fix Version/s:     (was: 2.3)
      Description: 
It would be great if LoggerAppenderMongoDB could supply a timeout value to the Mongo() constructor when it connects for the first time. 

Here's why:  If something is wrong with the Mongo database server -- for example, if the server is offline -- it often takes a really long time (10 or more seconds) to fail and throw an exception.  This is terrible in a situation where we need a quick turnaround time and are using the logger to collect diagnostic data. 

Ideally, a timeout value could be specified in the log4php config XML file along with the host, name, etc. 

I already have a patch that fixes this issue. The main gist of it is this. Change this:

$this->connection = new Mongo(sprintf('%s:%d', $this->host, $this->port));

to this:

$this->connection = new Mongo(sprintf('%s:%d', $this->host, $this->port), array("timeout" => $this->timeout));

Useful Resources:

* PHP Docs that explain the Mongo() constructor timeout value: http://php.net/manual/en/mongo.construct.php

  was:
It would be great if LoggerAppenderMongoDB could supply a timeout value to the Mongo() constructor when it connects for the first time. 

Here's why:  If something is wrong with the Mongo database server, the server is offline or whatever, it often takes a long time (10 or more seconds) to fail and throw an exception. This is terrible in a situation where we need a quick turnaround time and are using the logger to collect diagnostic data. 

Ideally, a timeout value could be specified in the log4php config XML file along with the host, name, etc. 

I already have a patch that fixes this issue. The main gist of it is this. Change this:

$this->connection = new Mongo(sprintf('%s:%d', $this->host, $this->port));

to this:

$this->connection = new Mongo(sprintf('%s:%d', $this->host, $this->port), array("timeout" => $this->timeout));

Useful Resources:

* PHP Docs that explain the Mongo() constructor timeout value: http://php.net/manual/en/mongo.construct.php

          Summary: LoggerAppenderMongoDB should supply a timeout value to the Mongo() constructor when it connects for the first time.  (was: It would be great if LoggerAppenderMongoDB could supply a timeout value to the Mongo() constructor when it connects for the first time.)
    
> LoggerAppenderMongoDB should supply a timeout value to the Mongo() constructor when it connects for the first time.
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: LOG4PHP-166
>                 URL: https://issues.apache.org/jira/browse/LOG4PHP-166
>             Project: Log4php
>          Issue Type: Improvement
>          Components: Code
>    Affects Versions: 2.1, 2.2
>            Reporter: David Hilowitz
>            Priority: Minor
>         Attachments: patch_commit_59b06e94668f.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> It would be great if LoggerAppenderMongoDB could supply a timeout value to the Mongo() constructor when it connects for the first time. 
> Here's why:  If something is wrong with the Mongo database server -- for example, if the server is offline -- it often takes a really long time (10 or more seconds) to fail and throw an exception.  This is terrible in a situation where we need a quick turnaround time and are using the logger to collect diagnostic data. 
> Ideally, a timeout value could be specified in the log4php config XML file along with the host, name, etc. 
> I already have a patch that fixes this issue. The main gist of it is this. Change this:
> $this->connection = new Mongo(sprintf('%s:%d', $this->host, $this->port));
> to this:
> $this->connection = new Mongo(sprintf('%s:%d', $this->host, $this->port), array("timeout" => $this->timeout));
> Useful Resources:
> * PHP Docs that explain the Mongo() constructor timeout value: http://php.net/manual/en/mongo.construct.php

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira