Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 97929 invoked from network); 22 Aug 2005 19:31:59 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 22 Aug 2005 19:31:59 -0000 Received: (qmail 13711 invoked by uid 500); 22 Aug 2005 19:31:58 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 13680 invoked by uid 500); 22 Aug 2005 19:31:58 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Reply-To: "Derby Development" Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 13667 invoked by uid 99); 22 Aug 2005 19:31:58 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Aug 2005 12:31:58 -0700 X-ASF-Spam-Status: No, hits=2.6 required=10.0 tests=DNS_FROM_RFC_ABUSE,DNS_FROM_RFC_POST,DNS_FROM_RFC_WHOIS,SPF_HELO_FAIL X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [32.97.182.144] (HELO e4.ny.us.ibm.com) (32.97.182.144) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Aug 2005 12:32:15 -0700 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e4.ny.us.ibm.com (8.12.11/8.12.11) with ESMTP id j7MJVtPx011819 for ; Mon, 22 Aug 2005 15:31:55 -0400 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay04.pok.ibm.com (8.12.10/NCO/VERS6.7) with ESMTP id j7MJVtpD175100 for ; Mon, 22 Aug 2005 15:31:55 -0400 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11/8.13.3) with ESMTP id j7MJVsLW020296 for ; Mon, 22 Aug 2005 15:31:54 -0400 Received: from [127.0.0.1] (sig-9-48-122-145.mts.ibm.com [9.48.122.145]) by d01av03.pok.ibm.com (8.12.11/8.12.11) with ESMTP id j7MJVrKs020204 for ; Mon, 22 Aug 2005 15:31:54 -0400 Message-ID: <430A2826.9020300@sbcglobal.net> Date: Mon, 22 Aug 2005 12:31:50 -0700 From: Mike Matrigali User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Derby Development Subject: Re: regarding derby.log being overwritten on startup. [was Re: [jira] Commented: (DERBY-515) Network Server should log server start and shutdown time to derby.log] References: <580768979.1124435694047.JavaMail.jira@ajax.apache.org> <4305CC9A.5090708@sbcglobal.net> <43061F12.8080308@gmail.com> <430621BF.5030509@sun.com> <43062D73.10505@sun.com> <43064AA1.90907@sun.com> <4263a0f505081915052d3d3793@mail.gmail.com> In-Reply-To: <4263a0f505081915052d3d3793@mail.gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N I believe that the current log file format has been written to be easy to parse - but not as easy as looking for a single delimiter. Remember that the log file can contain arbitrary text - so not sure if a single delimiter will work. The worst case is log statement text which will print out values of fields, which can contain anything and are not under our control. At one point there was a tool that could take the log file and present it like a read only table, similar to the lock table. Adding some delimiters might make it easier. I also like having the log file at least somewhat user readable. Having said that I believe that if someone really wanted the XML version, an alternate error logging module implementation could be provided which could either produce XML instead of text or could provide 2 different files. If someone wanted to write a cool tool that parsed and presented the error log file, or needed xml to adapt it to an existing tool then I could see XML form being more important. There was hope to be able to be able to do thing like take the out of log statement text and then turn around and use that to drive a testing framework which could execute those statments. Danesh wrote: > I agree with going the delimited format route. Having the database > write out XML would probably impact preformance quite a bit. I also > wonder what would happen if the database were to die (power failure or > the like) and the XML file ended up invalid due to it missing those > crucial few closing tags. To simplify things and satisfy both parties > someone could write a log conversion tool i.e. DEL -> XML. > > ~Danesh > > On 8/19/05, David Van Couvering wrote: > >>Please, God, no :). Machines like reading XML but people (at least >>certain people) find it a bit horrific. >> >>What I have seen done in the past is using a simple delimiter format, e.g. >> >>|Fri Aug 19 14:06:31 PST >>2005|org.apache.derby.engine.impl.jdbc.EmbedConnection|Thread >>275|Invalid user, please try again| | | >> >>then you can write tools that slurp this right into Excel, load into a >>database, etc. We did this with an app I worked on at Sybase and it was >>quite successful. >> >>David >> >>Rick Hillegas wrote: >> >> >>>At the risk of overloading this topic: While we're talking about >>>improvements to our error logging, I'd like to see us emit more >>>structured logs. This is one of the things that xml is actually good >>>for. It would be pretty easy to turn our log records into xml entries. >>>This would make it easy to write or use off-the-shelf tools for >>>viewing the logs and for filtering signal out of the noise. >>> >>>Cheers, >>>-Rick >>> >>>David Van Couvering wrote: >>> >>> >>>>Well, the most common solution is log rotation. On restart, you >>>>rename the old log to derby.log.1 and then derby.log.2 and so on. >>>>After log files, you start over again at derby.log.1. >>>>This is also useful for long-running systems so you don't run out of >>>>disk space because of your error logs. When the error log gets a >>>>configurable X MBs, the system copies the log to derby.log.1, >>>>derby.log.2, etc., and starts a fresh log. After N log files it >>>>starts back at 1 and overwrites the old log file. Similar but >>>>different from above, but both are great to reduce administrative >>>>overhead for the user. >>>> >>>>David >>>> >>>>Sunitha Kambhampati wrote: >>>> >>>> >>>>>�ystein Gr�vlen wrote: >>>>> >>>>> >>>>>>>>>>>"KM" == Kathey Marsden writes: >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>> KM> Øystein Grøvlen (JIRA) wrote: >>>>>> >> [ >> This would be even more helpful if the derby.log file >>>>>>was not overwritten on the next startup. (Probably a separate issue). >>>>>> >> >> >> KM> The derby.infolog.append property is >>>>>>helpful in this regard. >>>>>> >>>>>> KM> >>>>>>http://db.apache.org/derby/docs/10.1/tuning/rtunproper13217.html >>>>>> >>>>>>Thanks, Kathey, that is really what I need. >>>>>> >>>>>> >>>>>> >>>>> >>>>>One concern I have is that by default, the derby.log gets >>>>>overwritten on subsequent boot. From my experience with customers, >>>>>whenever there is an issue, I always end up telling them to add this >>>>>property almost every time to see the debug logs. It is very common >>>>>to see users reboot the system if they hit an error and in this >>>>>case, it is probable that important relevant information in the >>>>>derby.log is lost because it gets overwritten ( ex - recovery issues >>>>>, deadlock etc ). >>>>> >>>>>Maybe we could do something smart for derby.log , a balance between >>>>>keeping history across boots and disk space taken by the derby.logs. >>>>> >>>>>Any comments ? >>>>> >>>>>Sunitha. >>>> >>>> >>>> >> >>