log4plsql-all-info Mailing List for LOG4PLSQL (Page 5)
Brought to you by:
gmoulard
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
(8) |
May
(4) |
Jun
(11) |
Jul
(13) |
Aug
(2) |
Sep
(1) |
Oct
(2) |
Nov
(9) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(3) |
Feb
(1) |
Mar
(4) |
Apr
(1) |
May
(1) |
Jun
(5) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(5) |
Dec
(6) |
2004 |
Jan
(7) |
Feb
(26) |
Mar
(8) |
Apr
(1) |
May
(5) |
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(4) |
Dec
(8) |
2005 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
|
May
(10) |
Jun
(2) |
Jul
|
Aug
(5) |
Sep
|
Oct
(7) |
Nov
|
Dec
|
2006 |
Jan
|
Feb
(2) |
Mar
(4) |
Apr
(2) |
May
(2) |
Jun
|
Jul
|
Aug
(5) |
Sep
(2) |
Oct
(3) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
(2) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2009 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <log...@li...> - 2004-03-17 13:39:23
|
How can I use this in Client Side PL/SQL in Oracle 9i Forms? I'm new to both Forms and Log4PlSql. Do I need to somehow create a Forms PL/SQL Library for PLOG? For now I'm able to make calls to the plog.debug, etc. procedures that make use of the default context. However when I try to reference plog.LALL I get an error in Forms Builder: Implementation Restriction: 'PLOG.LALL': Cannot directory access remote package variable or cursor. I assume this error will occur for the other Level package variables. |
From: <log...@li...> - 2004-02-27 18:49:53
|
Hi, There is a small change in INSTR function or with my nls caratere set. Now in my enviroment there is no problem. Regards, Guillaume Moulard gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ and : http://sourceforge.net/mailarchive/forum.php?forum=3Dlog4plsql-all-i= nfo or http://www.mail-archive.com/log...@li... for log...@li... -----Message d'origine----- De : log...@li... [mailto:log4plsql-all= -in...@li...] Envoy=E9 : jeudi 26 f=E9vrier 2004 15:25 =C0 : log...@li... Objet : [log4plsql] (no subject) Hi, I'm just starting to use log4plsql in our new application - think it's a = great tool! I'm having trouble getting call stack logging to work by default. I'm running version 3.1.2.1, on Oracle 9i. I've written the following very simple test code. Create or replace package insert_error as procedure insert_error; end insert_error; Create or replace package outer_insert_error as procedure outer_insert_error; end outer_insert_error; create or replace package body insert_error as procedure insert_error is begin plog.fatal('insert'); end insert_error; end insert_error; create or replace package body outer_insert_error as procedure outer_insert_error is begin insert_error.insert_error(); end outer_insert_error; end outer_insert_error; I then run this using begin outer_insert_error.outer_insert_error(); end; / And doing a select from vlog, I would expect to see some information rega= rding the call stack, but in fact what I get is as follows: Can anyone suggest an answer? Thanks in advance for your help, Scott Robinson. |
From: <log...@li...> - 2004-02-27 10:25:23
|
Hi, In my platform, I don't have a conversion error. Wich is your database version and platform? Could you send a test case? Regards, Guillaume Moulard gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ and : http://sourceforge.net/mailarchive/forum.php?forum=3Dlog4plsql-all-i= nfo or http://www.mail-archive.com/log...@li... for log...@li... -----Message d'origine----- De : log...@li... [mailto:log4plsql-all-i= nfo...@li...] Envoy=E9 : mardi 24 f=E9vrier 2004 09:05 =C0 : log...@li... Objet : RE : [log4plsql] Bug in isFatalEnabled, ...isDebugEnabled functions= . At 18:06 23/02/2004, you wrote: >Hi Francesco, > >Could you explaine the problem. I don't see your problem. > >Now this feature run (see and test whith TestISXXXXXXEnable.sql) Hi, I try to explain more clearly the problem. The bug was a bug in all function isXXXXXXEnable in version . As you can see, for instance in function isFatalEnabled FUNCTION isFatalEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('FATAL')); end; there is a call to getLevelInText whereas the correct call is getTextInLeve= l. The call used inside the plog version 312 does not work and give a conversion error from text to integer. The fix to this bug is to replace the getLevelInText calls inside isXXXXEnabled the with getTextInLevel calls= . I olso get a lot confused when I search for this error since the name of the two function getLevelInText and getTextInLevel are similar and the oracle error was a bit cryptic. ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=3D1= 356&alloc_id=3D3438&op=3Dclick _______________________________________________ Log4plsql-all-info mailing list Log...@li... https://lists.sourceforge.net/lists/listinfo/log4plsql-all-info log4plsq : http://log4plsql.sourceforge.net |
From: <log...@li...> - 2004-02-27 10:11:04
|
Hi, I had tested ./startLog4JbackgroundProcess.bat process against my Oracle 9.0.1 Client patched to 9.0.1.0.4 (Patchset 4). The problems seems related to the runtime12.jar runtime of the Oracle 9.0.1 distribution. Upgrading only the jar related to the sqlj to the one shipped with the Oracle 9.2.0 fix the problem. Both the jar, in the two version of oracle, have the same name runtime12.jar and inside the jar there are no specific version inside META-INF directory. The difference should be inside the runtime package but I don't know enougth the Log4JbackgroundProcess to find the difference. I can post the two version of runtime12.jar for further analysis. Regards, Francesco |
From: <log...@li...> - 2004-02-24 08:55:43
|
At 18:06 23/02/2004, you wrote: >Hi Francesco, > >Could you explaine the problem. I don't see your problem. > >Now this feature run (see and test whith TestISXXXXXXEnable.sql) > >Regards, >Guillaume Moulard >gmo...@us... A final note to may email "RE : [log4plsql] Bug in isFatalEnabled, ...isDebugEnabled functions". I have checked the pblog.sql of the mail "RE : [log4plsql] PLOG.ERROR of setLevel should be comment out?" and it correct also the problem of mail "[log4plsql] Bug in isFatalEnabled, ...isDebugEnabled functions". Regards, Francesco Cadili |
From: <log...@li...> - 2004-02-24 08:36:43
|
While I was checking the pblog.sql file I saw that the file version was LOG4PLSQL_VERSION VARCHAR2(20) := '3.1.b'; whereas the version of your last file is LOG4PLSQL_VERSION VARCHAR2(200) := '3.1.2.1'; Regards, Francesco Cadili |
From: <log...@li...> - 2004-02-24 08:13:14
|
At 18:06 23/02/2004, you wrote: >Hi Francesco, > >Could you explaine the problem. I don't see your problem. > >Now this feature run (see and test whith TestISXXXXXXEnable.sql) Hi, I try to explain more clearly the problem. The bug was a bug in all function isXXXXXXEnable in version . As you can see, for instance in function isFatalEnabled FUNCTION isFatalEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('FATAL')); end; there is a call to getLevelInText whereas the correct call is getTextInLevel. The call used inside the plog version 312 does not work and give a conversion error from text to integer. The fix to this bug is to replace the getLevelInText calls inside isXXXXEnabled the with getTextInLevel calls. I olso get a lot confused when I search for this error since the name of the two function getLevelInText and getTextInLevel are similar and the oracle error was a bit cryptic. |
From: <log...@li...> - 2004-02-23 17:30:42
|
Hi, True I correct this small problem in next release. Regards, Guillaume Moulard gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ and : http://sourceforge.net/mailarchive/forum.php?forum=3Dlog4plsql-all-i= nfo or http://www.mail-archive.com/log...@li... for log...@li... -----Message d'origine----- De : log...@li... [mailto:log4plsql-all-i= nfo...@li...] Envoy=E9 : mercredi 18 f=E9vrier 2004 15:15 =C0 : log...@li... Objet : [log4plsql] PLOG.ERROR of setLevel should be comment out? This is the procedure setLevel. When executed prints 3 error on the log table. This behaveour is correct? PROCEDURE setLevel -- il est possible de modifier avec setLevell dynamiquement le niveau de lo= g -- l'appel de setLevel sans paramettre re-poossitionne le niveaux a celuis specifier -- dans le package. -- erreur possible : -20501, 'Set Level not in LOG predefine constantes' ( pCTX IN OUT NOCOPY LOG_CTX , -- Context pLEVEL IN TLOG.LLEVEL%type default NOLEVEL -- Level sup=E9rieur attribuer dynamiquement ) IS nbrl number; BEGIN PLOG.ERROR('level:'||pLEVEL); checkAndInitCTX(pCTX); PLOG.ERROR('level:'||pLEVEL); IF pLEVEL =3D NOLEVEL then pCTX.LLEVEL :=3D pCTX.INIT_LLEVEL; END IF; PLOG.ERROR('level:'||pLEVEL); select count(*) into nbrl FROM TLOGLEVEL where TLOGLEVEL.LLEVEL=3DpLEVEL; IF nbrl > 0 then pCTX.LLEVEL :=3D pLEVEL; ELSE raise_application_error(-20501, 'SetLevel ('||pLEVEL||') not in TLOGLEVEL table'); END IF; EXCEPTION WHEN OTHERS THEN PLOG.ERROR; end setLevel; Regards, Francesco ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=135= 6&alloc_id438&op=3Dick _______________________________________________ Log4plsql-all-info mailing list Log...@li... https://lists.sourceforge.net/lists/listinfo/log4plsql-all-info log4plsq : http://log4plsql.sourceforge.net |
From: <log...@li...> - 2004-02-23 17:27:14
|
Ashton, You can log xml text in TLOG.LTEXTE with all log4plsq features. and use a XML namspace for now the format. Perapse, there is a problem with a size of the message? About a converting API, you has which prototype thinks? Regards, Guillaume Moulard gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ and : http://sourceforge.net/mailarchive/forum.php?forum=3Dlog4plsql-all-i= nfo or http://www.mail-archive.com/log...@li... for log...@li... -----Message d'origine----- De : log...@li... [mailto:log4plsql-all= -in...@li...] Envoy=E9 : mardi 17 f=E9vrier 2004 15:29 =C0 : log...@li... Objet : [log4plsql] Log4plsql extension We've been looking at log4plsql for possible use as a standard database l= ogging tool within our organization. We currently have a standard package that we employ, but often find we have to customize it for= our different applications. Log4plsql would appear to address a lot of our needs, with one major exception: our database applicat= ion logging usually employs explicit columns for key value storage; allowing us to join directly in sql from our logging table(s= ) to staging/load tables etc. The query-ability of these data attributes is crucial to us. Having to parse TLOG.LTEXTE for significa= nt values (e.g. keys, parameter values etc.) would be quite onerous. If I were to customize Log4plsql, I'd consider perhaps another table to s= tore some sort of template for the contents of TLOG.LTEXTE (alternatively add an additional column instead) to accommodate= named attributes and a format (xml would be ideal for this). I'd also consider creating an api for converting parameters into the= template format, for use prior to calling plog.error/fatal etc. You may already have considered this, or perhaps someone has already sugg= ested it. Might this be something that someone is already working on? Should we endeavor to create this extension ourselves? Your tho= ughts and comments would be very welcome. Very best regards, Ashton Thorogood Database Team SIG |
From: <log...@li...> - 2004-02-23 17:14:35
|
Hi Francesco, Could you explaine the problem. I don't see your problem. Now this feature run (see and test whith TestISXXXXXXEnable.sql) Regards, Guillaume Moulard gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ and : http://sourceforge.net/mailarchive/forum.php?forum=3Dlog4plsql-all-i= nfo or http://www.mail-archive.com/log...@li... for log...@li... -----Message d'origine----- De : log...@li... [mailto:log4plsql-all-i= nfo...@li...] Envoy=E9 : mercredi 18 f=E9vrier 2004 10:37 =C0 : log...@li... Objet : [log4plsql] Bug in isFatalEnabled, ...isDebugEnabled functions. I found a bug in this funcion, inside pblog.sql. ------------------------------------------------------------------- (extracted from Log4plsqlV312.zip) FUNCTION isFatalEnabled RETURN boolean is begin return islevelEnabled(getLevelInText('FATAL')); end; FUNCTION isErrorEnabled RETURN boolean is begin return islevelEnabled(getLevelInText('ERROR')); end; FUNCTION isWarnEnabled RETURN boolean is begin return islevelEnabled(getLevelInText('WARN')) ; end; FUNCTION isInfoEnabled RETURN boolean is begin return islevelEnabled(getLevelInText('INFO')) ; end; FUNCTION isDebugEnabled RETURN boolean is begin return islevelEnabled(getLevelInText('DEBUG')); end; FUNCTION isFatalEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('FATAL')); end; FUNCTION isErrorEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('ERROR')); end; FUNCTION isWarnEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('WARN')) ; end; FUNCTION isInfoEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('INFO')) ; end; FUNCTION isDebugEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('DEBUG')); end; ------------------------------------------------------- The function to call should be getTextInLevel inside of getLevelInText. Regards, Francesco ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=3D1= 356&alloc_id=3D3438&op=3Dclick _______________________________________________ Log4plsql-all-info mailing list Log...@li... https://lists.sourceforge.net/lists/listinfo/log4plsql-all-info log4plsq : http://log4plsql.sourceforge.net |
From: <log...@li...> - 2004-02-23 10:37:35
|
Hi, =20 You can find a lot of exemple in the documentation:=20 http://log4plsql.sourceforge.net/docs/UserGuide.html and in the test file: http://log4plsql.sourceforge.net/sql/testTools/ Regards, Guillaume Moulard gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ =20 -----Message d'origine----- De : Sushant Prabhu [mailto:]=20 Envoy=E9 : jeudi 19 f=E9vrier 2004 05:49 =C0 : gmo...@us... Objet : log4plsql sample examples Hi Guillaume I read the article about your tool Log4plsql on OTN by Justin = Kestelyn.=20 Justin informed me to get in touch with you for this. The article was indeed very good and we plan to use it our projects = using Oracle as backend.=20 I need to do a presentation on this tool & require some detailed = examples using the LOG4PLSQL feature.=20 Where can i find such examples using LOG4PLSQL feature. Sushant Prabhu Mentorix Technologies Pvt Ltd (A LionBridge Company) Hiranandani Gardens Powai, Mumbai (0) 022-56930202 ext.5507 |
From: <log...@li...> - 2004-02-18 14:20:10
|
This is the procedure setLevel. When executed prints 3 error on the log=20 table. This behaveour is correct? PROCEDURE setLevel -- il est possible de modifier avec setLevell dynamiquement le niveau de= log -- l'appel de setLevel sans paramettre re-poossitionne le niveaux a celuis= =20 specifier -- dans le package. -- erreur possible : -20501, 'Set Level not in LOG predefine constantes' ( pCTX IN OUT NOCOPY LOG_CTX , -- Context pLEVEL IN TLOG.LLEVEL%type default NOLEVEL -- Level=20 sup=E9rieur attribuer dynamiquement ) IS nbrl number; BEGIN PLOG.ERROR('level:'||pLEVEL); checkAndInitCTX(pCTX); PLOG.ERROR('level:'||pLEVEL); IF pLEVEL =3D NOLEVEL then pCTX.LLEVEL :=3D pCTX.INIT_LLEVEL; END IF; PLOG.ERROR('level:'||pLEVEL); select count(*) into nbrl FROM TLOGLEVEL where TLOGLEVEL.LLEVEL=3DpLEVE= L; IF nbrl > 0 then pCTX.LLEVEL :=3D pLEVEL; ELSE raise_application_error(-20501, 'SetLevel ('||pLEVEL||') not in=20 TLOGLEVEL table'); END IF; EXCEPTION WHEN OTHERS THEN PLOG.ERROR; end setLevel; Regards, Francesco |
From: <log...@li...> - 2004-02-18 09:41:31
|
I found a bug in this funcion, inside pblog.sql. ------------------------------------------------------------------- (extracted from Log4plsqlV312.zip) FUNCTION isFatalEnabled RETURN boolean is begin return islevelEnabled(getLevelInText('FATAL')); end; FUNCTION isErrorEnabled RETURN boolean is begin return islevelEnabled(getLevelInText('ERROR')); end; FUNCTION isWarnEnabled RETURN boolean is begin return islevelEnabled(getLevelInText('WARN')) ; end; FUNCTION isInfoEnabled RETURN boolean is begin return islevelEnabled(getLevelInText('INFO')) ; end; FUNCTION isDebugEnabled RETURN boolean is begin return islevelEnabled(getLevelInText('DEBUG')); end; FUNCTION isFatalEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('FATAL')); end; FUNCTION isErrorEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('ERROR')); end; FUNCTION isWarnEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('WARN')) ; end; FUNCTION isInfoEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('INFO')) ; end; FUNCTION isDebugEnabled ( pCTX IN LOG_CTX ) RETURN boolean is begin return islevelEnabled(pCTX, getLevelInText('DEBUG')); end; ------------------------------------------------------- The function to call should be getTextInLevel inside of getLevelInText. Regards, Francesco |
From: <log...@li...> - 2004-02-17 19:39:06
|
To resend to "log...@li..." Hi, my name is Francesco Cadili and I start to use log4plsql. I use it inside a Oracle 9iR2 (version 9.2.0.4) in a linux server machine through a Oracle 9.0.1 Client installed into a Windows XP machine. I had some problem with the oracle java package stored in my local workstation with the ./startLog4JbackgroundProcess.bat process. With the Oracle 9.0.1 package the give the following error: $ ./startLog4JbackgroundProcess.bat d:\Lib\open-source\sourgeforge\Log4plsql\Log4plsql\cmd>setlocal d:\Lib\open-source\sourgeforge\Log4plsql\Log4plsql\cmd>call setVariable.bat variable setup 2004-02-17 15:18:20,605 INFO [main] backgroundProcess ( Run.java:62) - start log4plsql.properties: .\properties\log4plsql.xml 2004-02-17 15:18:20,980 INFO [main] backgroundProcess.ReaderLogDataBase (Reader LogDataBase.sqlj:83) - Startup logSource:logSource1 dbURI:jdbc:oracle:thin:@ oracle9ir2:1527:KIRK dbUser:ulog dbPass:ulog pipeName:LOG_PIPE_gm java.lang.NoSuchMethodError at log4plsql.backgroundProcess.ReaderLogDataBase.readlog(ReaderLogDataBa se.sqlj:166) at log4plsql.backgroundProcess.ReaderThread.run(ReaderThread.java:56) 2004-02-17 15:18:21,090 INFO [main] backgroundProcess.ReaderLogDataBase (Reader LogDataBase.sqlj:83) - Startup logSource:logSource2 dbURI:jdbc:oracle:thin:@ oracle9ir2:1527:KIRK dbUser:ulog dbPass:ulog pipeName:LOG_PIPE java.lang.NoSuchMethodError at log4plsql.backgroundProcess.ReaderLogDataBase.readlog(ReaderLogDataBa se.sqlj:166) at log4plsql.backgroundProcess.ReaderThread.run(ReaderThread.java:56) My jdk version is 1.3.1_09-b3. The problem seems to be related to one of the oracle java package (I think this is a problem inside the runtime12.jar). The problem is resolved using the java library released with Oracle 9.2.0.4. I have upgraded both the runtime12.jar and the jdbc library (classes_12.jar and nls_charset.jar). From my past esperience with Oracle library I remember that new java library were released with Oracle 9.0.1.4, but now I can't do more testing. Regards, Francesco |
From: <log...@li...> - 2004-02-17 14:33:24
|
We've been looking at log4plsql for possible use as a standard database logging tool within our organization. We currently have a standard package that we employ, but often find we have to customize it for our different applications. Log4plsql would appear to address a lot of our needs, with one major exception: our database application logging usually employs explicit columns for key value storage; allowing us to join directly in sql from our logging table(s) to staging/load tables etc. The query-ability of these data attributes is crucial to us. Having to parse TLOG.LTEXTE for significant values (e.g. keys, parameter values etc.) would be quite onerous.=20 If I were to customize Log4plsql, I'd consider perhaps another table to store some sort of template for the contents of TLOG.LTEXTE (alternatively add an additional column instead) to accommodate named attributes and a format (xml would be ideal for this). I'd also consider creating an api for converting parameters into the template format, for use prior to calling plog.error/fatal etc. You may already have considered this, or perhaps someone has already suggested it. Might this be something that someone is already working on? Should we endeavor to create this extension ourselves? Your thoughts and comments would be very welcome. Very best regards, Ashton Thorogood Database Team SIG 610.747.2392=20 IMPORTANT: The information contained in this email and/or its = attachments is confidential. If you are not the intended recipient, = please notify the sender immediately by reply and immediately delete = this message and all its attachments. Any review, use, reproduction, = disclosure or dissemination of this message or any attachment by an = unintended recipient is strictly prohibited. Neither this message nor = any attachment is intended as or should be construed as an offer, = solicitation or recommendation to buy or sell any security or other = financial instrument. Neither the sender, his or her employer nor any = of their respective affiliates makes any warranties as to the = completeness or accuracy of any of the information contained herein or = that this message or any of its attachments is free of viruses. |
From: <log...@li...> - 2004-02-13 16:05:29
|
Dear Sir,=20 We've been looking at log4plsql for possible use as a standard = database logging tool within our organization. We currently have a = standard package that we employ, but often find we have to customize it = for our different applications. Log4plsql would appear to address a lot = of our needs, with one major exception: our database application logging = usually employs explicit columns for key value storage; allowing us to = join directly in sql from our logging table(s) to staging/load tables = etc. The query-ability of these data attributes is crucial to us. Having = to parse TLOG.LTEXTE for significant values (e.g. keys, parameter values = etc.) would be quite onerous.=20 If I were to customize Log4plsql, I'd consider perhaps another table = to store some sort of template for the contents of TLOG.LTEXTE = (alternatively add an additional column instead) to accommodate named = attributes and a format (xml would be ideal for this). I'd also consider = creating an api for converting parameters into the template format, for = use prior to calling plog.error/fatal etc. You may already have considered this, or perhaps someone has already = suggested it. Might this be something that someone is already working = on? Should we endeavor to create this extension ourselves? Your thoughts = and comments would be very welcome. Very best regards,=20 Ashton=20 |
From: <log...@li...> - 2004-02-12 12:18:11
|
Pascal, TX for your update. I make in 3.1.2.1 now in = http://prdownloads.sourceforge.net/log4plsql/Log4plsql.zip Regards, Guillaume Moulard gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ =20 -----Message d'origine----- De : log...@li... = [mailto:log...@li...]=20 Envoy=E9 : jeudi 12 f=E9vrier 2004 09:51 =C0 : Log...@li... Objet : [log4plsql] LOG4PLSQL Error Version 3.1.b Hi all , Thanks for your Efforts on the Log4PlSql Project. I tried to use LOG4PLSQL and got the following Error: >>Get the Version ::>> SQL> select plog.getLOG4PLSQVersion as Version from dual ; VERSION = -------------------------------------------------------------------------= ------- 3.1.b SQL> set serveroutput on size 1000000 SQL> BEGIN 2 IF Plog.isWarnEnabled THEN 3 Plog.warn( ' warn raises Exception ') ; 4 END IF ; 5 END ; 6 / BEGIN * FEHLER in Zeile 1: ORA-06502: PL/SQL: numeric or value error: character to number = conversion error ORA-06512: at "LOG4PLSQL_USER.PLOG", line 757 ORA-06512: at line 2 I ! think the Problem lies in all the : is*****Enabled Functions : Proposed Solution : I tried the following for isDebugEnabled = Procedure : The old Function with ERROR is >>> =20 FUNCTION isDebugEnabled RETURN BOOLEAN IS BEGIN RETURN = islevelEnabled(getLevelInText('DEBUG')) ; END; The new Modified Function which is Working is=20 >>> FUNCTION isDebugEnabled RETURN BOOLEAN IS BEGIN RETURN = islevelEnabled( getTextInLevel('DEBUG') ); END; Changes: Replaced getLevelInText('DEBUG') with = getTextInLevel('DEBUG') =20 I think the Function Names are also a bit Interchanged. Test with the New Modified Function is as follows : SQL> BEGIN 2 IF Plog.isDebugEnabled THEN 3&nbs! p; Plog.warn( ' Debug is Ok after Modification ') ; 4 END IF ; 5 END ; 6 / PL/SQL-Prozedur wurde erfolgreich abgeschlossen. I hope others were also getting the same Error , or may be i did = something wrong ? Sincerely Yours, Pascal Mwakuye = _________________________________________________________________________= _____ Erdbeben im Iran: Zehntausende Kinder brauchen Hilfe. UNICEF hilft den Kindern - helfen Sie mit! https://www.unicef.de/spe/spe_03.php = ------------------------------------------------------- SF.Net is = sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & = Web services for Linux with a free DVD software kit from IBM. Click Now! = http://ads.osdn.com/?ad_id=3D1356&alloc_id=3D3438&op=3Dclick = _______________________________________________ Log4plsql-all-info = mailing list Log...@li... = https://lists.sourceforge.net/lists/listinfo/log4plsql-all-info log4plsq = : http://log4plsql.sourceforge.net |
From: <log...@li...> - 2004-02-12 08:51:48
|
<html><style>p {margin: 0px}</style><body bgcolor='#ffffff' style='font-size:9pt; font-family:Verdana; font-family: Verdana' ><P>Hi all ,</P><P>Thanks for your Efforts on the Log4PlSql Project.</P><P><BR>I tried to use LOG4PLSQL and got the following Error:</P><P>>>Get the Version ::>></P><FONT size=2><P>SQL> select plog.getLOG4PLSQVersion as Version from dual ;</P><P>VERSION<BR>--------------------------------------------------------------------------------<BR>3.1.b</P><P></P><P></P></FONT><P>SQL> set serveroutput on size 1000000<BR>SQL> BEGIN<BR> 2 IF Plog.isWarnEnabled THEN<BR> 3 Plog.warn( ' warn raises Exception ') ;<BR> 4 END IF ;<BR> 5 END ;<BR> 6 /<BR>BEGIN<BR>*<BR>FEHLER in Zeile 1:<BR>ORA-06502: PL/SQL: numeric or value error: character to number conversion error<BR>ORA-06512: at "LOG4PLSQL_USER.PLOG", line 757<BR>ORA-06512: at line 2</P><P> </P><P>I ! think the Problem lies in all the : is*****Enabled Functions :</P><P> Proposed Solution : I tried the following for isDebugEnabled Procedure :</P><P>The old Function with ERROR is >>> </P><P>FUNCTION isDebugEnabled RETURN BOOLEAN IS BEGIN RETURN islevelEnabled(getLevelInText('DEBUG')) ; END;</P><P>The new Modified Function which is Working is </P><P>>>> FUNCTION isDebugEnabled RETURN BOOLEAN IS BEGIN RETURN islevelEnabled( getTextInLevel('DEBUG') ); END;</P><P><BR>Changes: Replaced getLevelInText('DEBUG') with getTextInLevel('DEBUG') </P><P><BR>I think the Function Names are also a bit Interchanged.</P><P><BR>Test with the New Modified Function is as follows :</P><P>SQL> BEGIN<BR> 2 IF Plog.isDebugEnabled THEN<BR> 3&nbs! p; Plog.warn( ' Debug is Ok after Modification ') ;<BR> 4 END IF ;<BR> 5 END ;<BR> 6 /</P><P>PL/SQL-Prozedur wurde erfolgreich abgeschlossen.</P><P><BR>I hope others were also getting the same Error , or may be i did something wrong ?</P><P>Sincerely Yours,</P><P>Pascal Mwakuye</P></body></html> ______________________________________________________________________________<br>Erdbeben im Iran: Zehntausende Kinder brauchen Hilfe. UNICEF hilft den<br>Kindern - helfen Sie mit! https://www.unicef.de/spe/spe_03.php |
From: <log...@li...> - 2004-02-11 17:32:03
|
Thomas, ok and tx. Regards, Guillaume Moulard gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ -----Message d'origine----- De : Thomas Chiverton Envoy=E9 : mercredi 11 f=E9vrier 2004 17:54 =C0 : gmo...@us... Objet : Bug in setVariable.sh, fixed In setVariable.sh you need to change export ORACLE_USERSYS=3D$SYS_USER/$SYS_PASSW_USER@$LOG_SID as SYSDBA to exp= ort ORACLE_USERSYS=3D"$SYS_USER/$SYS_PASSW_USER@$LOG_SID as SYSDBA" otherwise sqlplus will fail to connect as it won't see the 'as sysdba'. -- Tom Chiverton Advanced ColdFusion Programmer BlueFinger Limited Underwood Business Park Wookey Hole Road, WELLS. BA5 1AF web: www.bluefinger.com Company Reg No: 4209395 Registered Office: 2 Temple Back East, Temple Quay,= BRISTOL. BS1 6EG. *** This E-mail contains confidential information for the addressee only. I= f you are not the intended recipient, please notify us immediately. You shoul= d not use, disclose, distribute or copy this communication if received in error. No binding contract will result from this e-mail until such time as = a written document is signed on behalf of the company. BlueFinger Limited cannot accept responsibility for the completeness or accuracy of this message as it has been transmitted over public networks.*** |
From: <log...@li...> - 2004-02-09 19:37:23
|
Greg, There is no problem for me. Nobody update the java code in 2 next week. G. -----Message d'origine----- De : Greg Woolsey Envoy=E9 : lundi 9 f=E9vrier 2004 19:49 =C0 : gmo...@us... Objet : RE: RE : [log4plsql] Would these mods be useful? Sorry for the delayed response. I've had to switch tasks at work for a = while. I hope to be able to package up my changes and get them to you in = a couple of weeks, after I get back on our logging code and can do some = more testing. -----Original Message----- From: Greg Woolsey=20 Sent: Wednesday, February 04, 2004 9:57 AM To: 'gmo...@us...' Subject: FW: RE : [log4plsql] Would these mods be useful? -----Original Message----- From: Greg Woolsey=20 Sent: Wednesday, February 04, 2004 9:56 AM Cc: log...@li... Subject: RE: RE : [log4plsql] Would these mods be useful? You are welcome. I found something last night I want to modify to make = extending/wrapping the Java listener process easier. When it is done = I'll send you the code.=20 My goals are to enhance the Java portion to allow easy integration into = larger custom J2EE projects with their own Log4J frameworks, and add MDC = functionality to PL/SQL that can be passed to Java and used in deciding = which Logger to use and for output in Appender layouts.=20 My company has approved releasing these mods/enhancements as open source = - by design my changes are generic and hopefully useful to other people. -----Original Message----- From: MOULARD Guillaume=20 Sent: Wednesday, February 04, 2004 7:31 AM To: Greg Woolsey Cc: log...@li... Subject: RE : [log4plsql] Would these mods be useful? Greg,=20 Good news, I'm verry happy by you proposition. Could you send me a copy of yours code. Regards,=20 Guillaume Moulard=20 gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ -----Message d'origine----- De : log...@li... [mailto:log...@li...]=20 Envoy=E9 : mercredi 4 f=E9vrier 2004 00:00 =C0 : log...@li... Objet : [log4plsql] Would these mods be useful? I have modified version 3.1b (Nov. 12, 2003) with the following = functionality. I don't know the status of current development, but these = are things we need in our project, beyond the original features in 3.1b. = I'm willing to share them with anyone who may want them, and/or = incorporate them into the main log4Plsql development: * MDC support in Log4Plsql analogous to the MDC functionality in Log4J = (fast implementation via strings only, no complex data structures) * Pipes are per-user. Install Log4Plsql in multiple schemas and each can = have it's own pipe. Modify to be authid current user and you only need = one install. * Java background process completely re-written to be much faster (SQLJ = does one JDBC call per pipe message component - very expensive). = Instead, I have a PL/SQL procedure that, when called, reads the next = pipe message or times out, and returns each value as an OUT parameter. = This includes the above mentioned open-ended MDC functionality, without = using collections. * Java background process class is extensible to add extra logic around = determining the logger name. Default is section name, but subclasses can = use any message or environment values to derive a logger name and = instantiate it. * As indicated above, the java background process handles configuring = MDC fields from the database for use in Log4J Appender layouts. * The Java Runnable class that listens for messages on a pipe can be = started from any other process instead. It's constructor simply takes a = Connection object and optional base Logger name.=20 * The PL/SQL procedure that reads the pipe gets the pipe name from the = session user name and a PLOG constant, so Java only needs a connection, = nothing more. My project will be using this version to seamlessly integrate PL/SQL log = messages with Java log messages in the same log file(s) for easy = retrieval and management. ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the = breadth of Eclipse activity. February 3-5 in Anaheim, CA. = http://www.eclipsecon.org/osdn = _______________________________________________ Log4plsql-all-info mailing list Log...@li... https://lists.sourceforge.net/lists/listinfo/log4plsql-all-info log4plsq : http://log4plsql.sourceforge.net |
From: <log...@li...> - 2004-02-06 10:21:57
|
Hi, =20 --In session A (in my test connect SYSTEM) Declare pCTX PLOG.LOG_CTX :=3D3D PLOG.init('test transaction', PLOG.LINFO ); Mess varchar(1000); begin PLOG.setTransactionMode(pCTX,TRUE); PLOG.error (pCTX, 'LOG will never commit'); -- (1) PLOG.setTransactionMode(pCTX,FALSE); PLOG.error (pCTX, 'LOG commit require'); -- (2) end; / In this code the first log is not rollback. When you don't use a context, by default youare in first case (your requiment) Regards, Guillaume Moulard gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ -----Message d'origine----- De : log...@li... [mailto:log...@li...] De la part de gmo...@us... Envoy=3DE9 : jeudi 5 f=3DE9vrier 2004 12:22 =3DC0 : log...@li... Objet : RE: RE: Log4plsql questions Guillaume, Merci pour le reponse. J'ai une question environ le methode SetTransactionMode(). Comment on =3D3D utilize ce methode? J'ai lu dans le user guide et j'ai cherche les =3D3D files pour lui, mais je n'ai pas trouve. J'ai besoin de voir les lignes =3D3D lorsqu'il y a une erreur. Merci encore. ----------------- Ron Reidy Senior DBA Array BioPharma, Inc. -----Original Message----- From: guillaume moulard Sent: Monday, February 02, 2004 7:50 AM To: Reidy, Ron Cc: log...@li... Subject: RE : Log4plsql questions Ron, 2. Il faut utiliser les librairie *.jar uniquement si vous voulez utiliser le Log4JbackgroundProcess. 1. Si vous voulez utilise le Log4JbackgroundProcess Il vous faut les .jar suivant :=3D3D20 Les jar pour les log : log4plsql.jar;log4j-1.2.8.jar; Les jar pour Oracle : xmlparserv2.jar;xmlcomp.jar;classes12.jar;nls_charset12.jar;runtime12.ja r Les jar pour Java : mail.jar;activation.jar C'est normalement configurer dans setVariable.bat. Dans le fichier setVariable.sh Il y a une erreur. --------------------------------------------------------------- set CLASSPATH=3D3D3D%LOG4PLSQL_HOME%\lib\log4plsql.jar;%CLASSPATH% set CLASSPATH=3D3D3D%LOG4PLSQL_HOME%\lib\;%CLASSPATH% set CLASSPATH=3D3D3D%LOG4PLSQL_HOME%\lib\log4j-1.2.8.jar;%CLASSPATH% rem Oraclexmlparser set CLASSPATH=3D3D3D%ORACLE_HOME%\lib\xmlparserv2.jar;%CLASSPATH% set CLASSPATH=3D3D3D%ORACLE_HOME%\lib\xmlcomp.jar;%CLASSPATH% rem OracleDriver set CLASSPATH=3D3D3D%ORACLE_HOME%\jdbc\lib\classes12.jar;%CLASSPATH% set CLASSPATH=3D3D3D%ORACLE_HOME%\jdbc\lib\nls_charset12.jar;%CLASSPATH% set CLASSPATH=3D3D3D%ORACLE_HOME%\sqlj\lib\runtime12.jar;%CLASSPATH% rem for SMTPAppender=3D3D20 set CLASSPATH=3D3D3D%JDK_HOME%\..\jre\lib\ext\mail.jar;%CLASSPATH% set CLASSPATH=3D3D3D%JDK_HOME%\..\jre\lib\ext\activation.jar;%CLASSPATH% ---------------------------------------------------------------- Regards,=3D3D20 Guillaume Moulard=3D3D20 gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ =3D3D20 -----Message d'origine----- De : Reidy, Ron [mailto:Ron...@ar...]=3D3D20 Envoy=3D3DE9 : jeudi 29 janvier 2004 18:19 =3D3DC0 : gmo...@us... Objet : RE: Log4plsql questions Guillaume, Je m'ai oublie de vous dire que j'utilizer Oracle 9ir2 dans Linux. J'ai les suivant files: cd $ORACLE_HOME find . -name "xml*jar" ./lib/xmlparserv2.jar ./lib/xmlmesg.jar ./lib/xmlcomp2.jar ./lib/xmlcomp.jar ./lib/xmlplsql.jar ----------------- Ron Reidy Senior DBA Array BioPharma, Inc. -----Original Message----- From: Reidy, Ron =3D3D20 Sent: Thursday, January 29, 2004 9:54 AM To: 'gmo...@us...' Subject: Log4plsql questions Guillaume, Veuillez m'excuser si mon Francais n'est pas parfait. J'ai besoin d'utilzer ce logicel, mai je ne comprend pas les instructions. Maintenant, je suis changer les manuscrits d'installer, et j'ai des questions suivant ... 1. Le variable d'environment 'EXTERNAL_LIB' se traduit a '$LOG4PLSQL_HOME/../WebSiteInvariant/extenalProjectLib', mais cet annuaire n'existe pas. Est-ce |
From: <log...@li...> - 2004-02-05 11:23:27
|
I found something last night I want to modify to make = extending/wrapping the Java listener process easier. When it is done = I'll send you the code. =20 My goals are to enhance the Java portion to allow easy integration into = larger custom J2EE projects with their own Log4J frameworks, and add MDC = functionality to PL/SQL that can be passed to Java and used in deciding = which Logger to use and for output in Appender layouts.=20 My company has approved releasing these mods/enhancements as open source = - by design my changes are generic and hopefully useful to other people. -----Original Message----- From: MOULARD Guillaume Sent: Wednesday, February 04, 2004 7:31 AM To: Greg Woolsey Cc: log...@li... Subject: RE : [log4plsql] Would these mods be useful? Greg,=20 =20 Good news, I'm verry happy by you proposition. Could you send me a copy of yours code. Regards,=20 Guillaume Moulard=20 gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ =20 -----Message d'origine----- De : log...@li... [mailto:log...@li...]=20 Envoy=E9 : mercredi 4 f=E9vrier 2004 00:00 =C0 : log...@li... Objet : [log4plsql] Would these mods be useful? I have modified version 3.1b (Nov. 12, 2003) with the following functionality. I don't know the status of current development, but these are things we need in our project, beyond the original features in 3.1b. I'm willing to share them with anyone who may want them, and/or incorporate them into the main log4Plsql development: * MDC support in Log4Plsql analogous to the MDC functionality in Log4J (fast implementation via strings only, no complex data structures) * Pipes are per-user. Install Log4Plsql in multiple schemas and each can have it's own pipe. Modify to be authid current user and you only need one install. * Java background process completely re-written to be much faster (SQLJ does one JDBC call per pipe message component - very expensive). Instead, I have a PL/SQL procedure that, when called, reads the next pipe message or times out, and returns each value as an OUT parameter. This includes the above mentioned open-ended MDC functionality, without using collections. * Java background process class is extensible to add extra logic around determining the logger name. Default is section name, but subclasses can use any message or environment values to derive a logger name and instantiate it. * As indicated above, the java background process handles configuring MDC fields from the database for use in Log4J Appender layouts. * The Java Runnable class that listens for messages on a pipe can be started from any other process instead. It's constructor simply takes a Connection object and optional base Logger name. =20 * The PL/SQL procedure that reads the pipe gets the pipe name from the session user name and a PLOG constant, so Java only needs a connection, nothing more. My project will be using this version to seamlessly integrate PL/SQL log messages with Java log messages in the same log file(s) for easy retrieval and management. ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Log4plsql-all-info mailing list Log...@li... https://lists.sourceforge.net/lists/listinfo/log4plsql-all-info log4plsq : http://log4plsql.sourceforge.net Yahoo! Mail : votre e-mail personnel et gratuit qui vous suit partout ! Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/ |
From: <log...@li...> - 2004-02-04 18:30:22
|
Greg,=20 =20 Good news, I'm verry happy by you proposition. Could you send me a copy of yours code. Regards,=20 Guillaume Moulard=20 gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ =20 -----Message d'origine----- De : log...@li... [mailto:log...@li...]=20 Envoy=E9 : mercredi 4 f=E9vrier 2004 00:00 =C0 : log...@li... Objet : [log4plsql] Would these mods be useful? I have modified version 3.1b (Nov. 12, 2003) with the following functionality. I don't know the status of current development, but these are things we need in our project, beyond the original features in 3.1b. I'm willing to share them with anyone who may want them, and/or incorporate them into the main log4Plsql development: * MDC support in Log4Plsql analogous to the MDC functionality in Log4J (fast implementation via strings only, no complex data structures) * Pipes are per-user. Install Log4Plsql in multiple schemas and each can have it's own pipe. Modify to be authid current user and you only need one install. * Java background process completely re-written to be much faster (SQLJ does one JDBC call per pipe message component - very expensive). Instead, I have a PL/SQL procedure that, when called, reads the next pipe message or times out, and returns each value as an OUT parameter. This includes the above mentioned open-ended MDC functionality, without using collections. * Java background process class is extensible to add extra logic around determining the logger name. Default is section name, but subclasses can use any message or environment values to derive a logger name and instantiate it. * As indicated above, the java background process handles configuring MDC fields from the database for use in Log4J Appender layouts. * The Java Runnable class that listens for messages on a pipe can be started from any other process instead. It's constructor simply takes a Connection object and optional base Logger name. =20 * The PL/SQL procedure that reads the pipe gets the pipe name from the session user name and a PLOG constant, so Java only needs a connection, nothing more. My project will be using this version to seamlessly integrate PL/SQL log messages with Java log messages in the same log file(s) for easy retrieval and management. ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Log4plsql-all-info mailing list Log...@li... https://lists.sourceforge.net/lists/listinfo/log4plsql-all-info log4plsq : http://log4plsql.sourceforge.net |
From: <log...@li...> - 2004-02-04 15:27:56
|
Allan, I just release a new version of LOG4PLSQL : V3.1.2 http://prdownloads.sourceforge.net/log4plsql/Log4plsqlV312.zip I this release you find all update for your request. Can you test it? I will put this update in production if is OK. Regards, Guillaume Moulard gmo...@us... Project : LOG4PLSQL : Oracle Database Loggin tools see : http://log4plsql.sourceforge.net/ -----Message d'origine----- De : log...@li... [mailto:log...@li...] Envoyé : mardi 27 janvier 2004 23:06 À : log...@li... Objet : [log4plsql] Support for multiple pipes Hi all, I consider to use Log4plsql (V2.1.1) in a project where a lot of the code is written in Java, and there is also a lot of PLSQL. I need to send the logs to certain log files, and it is required that logs from PLSQL code is same format as logs from Java. Looking at the Log4plsql code, I believe I can benefit from using the background processing. However, there are some challenges ;-) First I need to dispatch the logs to the correct log file. This should be possible by using the section functionality to identify log file destination. Basically each PLSQL package will log to a certain log file, and pushing the package name as section, it should be fairly easy to configure the hierarchy in Log4J to dispatch logs to the correct file. The second challenge is worse. We are a number of developers who each use our own unix-user and database scheme (user) to run the application. When logging from one database scheme, the developer expects the logs to appear in the log files belonging to the corresponding unix user e.g. located in $HOME/myapp/logs. The Log4plsql package writes logs to pipe and the background Java logging process receives the logs from this pipe. But the pipe name is a constant (LOG_PIPE), which means I can only have one background logging process and it must have write permissions to all the log directories. I could create a superuser for this purpose and allow this superuser to write to the developers home directories (or at least their log directories). The background logging process should then be run by the superuser. Still it requires the developers to be able to control logging for their database scheme, which means they must have write access to the background logging configuration. This is a little cumbersome. I believe a better approach is to allow the PLSQL logging to control which pipe to log to. Then I would use one pipe for each database scheme (say LOG_PIPE_<dbscheme>) and the developer should start a background logging process from their unix-user and make it log to their logging directory. Control of the log pipe should be put into the log context (PLOG.LOG_CTX) and set in the init function. Default could be LOG_PIPE for backward compatibility. The background Java logging process should read pipe to use from configuration, the same way it configures db username/password. Again it could default to LOG_PIPE. I hope you will consider this enhancement. It should be a fairly simple change to implement - if needed I can send the updates to V2.1.1, but at the moment I do not have access to compile SQLJ. I realize there are some initiatives to have the Log4plsql project join the Apache Logging Services project, and I am uncertain to what this means to the current implementation and future development. Please advise if you can. BR. Allan Yahoo! Mail : votre e-mail personnel et gratuit qui vous suit partout ! Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/ |
From: <log...@li...> - 2004-02-03 23:00:10
|
I have modified version 3.1b (Nov. 12, 2003) with the following functionality. I don't know the status of current development, but these are things we need in our project, beyond the original features in 3.1b. I'm willing to share them with anyone who may want them, and/or incorporate them into the main log4Plsql development: * MDC support in Log4Plsql analogous to the MDC functionality in Log4J (fast implementation via strings only, no complex data structures) * Pipes are per-user. Install Log4Plsql in multiple schemas and each can have it's own pipe. Modify to be authid current user and you only need one install. * Java background process completely re-written to be much faster (SQLJ does one JDBC call per pipe message component - very expensive). Instead, I have a PL/SQL procedure that, when called, reads the next pipe message or times out, and returns each value as an OUT parameter. This includes the above mentioned open-ended MDC functionality, without using collections. * Java background process class is extensible to add extra logic around determining the logger name. Default is section name, but subclasses can use any message or environment values to derive a logger name and instantiate it. * As indicated above, the java background process handles configuring MDC fields from the database for use in Log4J Appender layouts. * The Java Runnable class that listens for messages on a pipe can be started from any other process instead. It's constructor simply takes a Connection object and optional base Logger name. =20 * The PL/SQL procedure that reads the pipe gets the pipe name from the session user name and a PLOG constant, so Java only needs a connection, nothing more. My project will be using this version to seamlessly integrate PL/SQL log messages with Java log messages in the same log file(s) for easy retrieval and management. |