Just a heads up that the file writer doesn't require copy/truncate. It
checks every 30s or so to see if the inode for its path changed and
re-opens and starts writing to a new file if it has.

On Tue, Aug 2, 2016 at 3:37 PM, Joan Touzet <[email protected]> wrote:
> Yeah, I understand these reservations. I also learned that systemd
> handles stdout/stderr logging on its own now, so if that's the
> default on the bulk of popular UNIXes, perhaps this is a retrograde
> choice.
>
> That said it is the *only* choice I can support on Windows, where
> there is no system-wide logging service capable of handling the sort
> of volume of logs we generate. (By comparison, Microsoft's own IIS
> web server logs directly to its own logfile, or optionally to an
> ODBC connection, not to the system Event Logger service, which it
> only uses to log startup/shutdown/critical errors). At the very
> least I will have to search-and-replace at Windows installer creation
> time to log to a file and live with the large-log-file-blows-up-disk
> problem there, otherwise we simply lose logs into the aether.
>
> We could add flags into ./configure to log appropriately to a file
> or to stderr if someone is energetic enough to add the support code.
> I'm just not sure how that plays nicely with reltool overlay support,
> though. And we still don't have a clear answer as to what the default
> would be (if you don't specify --log-file or --log-stderr).
>
> -Joan
>
> ----- Original Message -----
> From: "Robert Samuel Newson" <[email protected]>
> To: [email protected]
> Sent: Tuesday, August 2, 2016 4:29:33 PM
> Subject: Re: [PROPOSAL] CouchDB 2.0 log to ./var/log/couchdb.log by default
>
> My concern is that (and we've seen this with BigCouch), folks won't configure 
> log rotation until they have either a whopping great log file or, more 
> typically, been woken by a paging system as their filesystem hit 100%.
>
> Given this method of logging also forces a copytruncate approach to rotation 
> (i.e, a hackish workaround), I'm not keen (but not vetoing either).
>
> There's no one right answer here. Folks that run couchdb under runit or 
> systemd will get log capture and rotation for free with the stderr approach, 
> for example.
>
> Can we make this an active choice so we're out of this guessing game? One 
> suggestion would be to default to a configuration that logs nothing anywhere 
> except for a giant warning to configure logging. I'm thinking of log4j's 
> approach here.
>
> B.
>
>
>> On 2 Aug 2016, at 21:20, Paul J Davis <[email protected]> wrote:
>>
>> Seems reasonable to me. I wonder if we should add a stdout log line that 
>> indicates where logs are going? Would be easy to add that as a module 
>> callback so it would work for stderr, file, and syslog.
>>
>>> On Aug 2, 2016, at 2:36 PM, Joan Touzet <[email protected]> wrote:
>>>
>>> Presently, CouchDB 2.0 logs only to stderr. I have opened a PR
>>> to switch this behaviour to log to the ./var/log/couchdb.log
>>> release-local file by default:
>>>
>>> https://github.com/apache/couchdb/pull/435
>>>
>>> This behaviour is easily overridden in the default.ini/local.ini
>>> files if desired.
>>>
>>> I'm not sure if this is wanted by all stakeholders, so I haven't
>>> merged it into master. Please let me know either here or in the PR
>>> your thoughts. My intent is to merge this change by lazy consensus.
>

Reply via email to