<HTML>
<HEAD>
<TITLE>Re: [Esapi-user] Console Logging</TITLE>
</HEAD>
<BODY>
<FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>There is no mechanism for doing this at the current time, however &#8211; it would seem this would be a fairly standard request (at least to just be able to disable the console logging at startup) <BR>
<BR>
Would it be acceptable to disable console logging with an option passed into such as <BR>
<BR>
-Desapi.logspecial.enabled=false<BR>
<BR>
I think we will want this enabled by default, but I agree that there should be a means to turn it off. <BR>
<BR>
As for redirecting the output to another logger &#8211; it would be possible but it would have to be code that you wrote. Since the logSpecial methods are currently private you would have to write your own implementation. However, it would probably make sense to make the logSpecial methods protected so that a custom implementation could be written which redirects logSpecial calls to some other logger.<BR>
<BR>
You could do something like this:<BR>
<BR>
Public class MySecurityConfiguration extends DefaultSecurityConfiguration {<BR>
&nbsp;&nbsp;&nbsp;@Override<BR>
&nbsp;&nbsp;&nbsp;protected void logSpecial(String message) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyLogger.logMessage(message);<BR>
&nbsp;&nbsp;&nbsp;}<BR>
<BR>
&nbsp;&nbsp;&nbsp;@Override<BR>
&nbsp;&nbsp;&nbsp;protected void logSpecial(String message, Exception e) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MyLogger.logError(e, message);<BR>
&nbsp;&nbsp;&nbsp;}<BR>
}<BR>
<BR>
This would be a simple change to make &#8211; but like I said, it is dependent on the logSpecial methods being changed to protected scope since they are currently private.<BR>
<BR>
Either way, to implement this will require changes to the ESAPI DefaultSecurityConfiguration class &#8211; can you add your request to the google code issue tracker so we can vote and discuss there?<BR>
<BR>
On 12/3/10 9:49 AM, &quot;Springett Steven&quot; &lt;<a href="sspringett@us.axway.com">sspringett@us.axway.com</a>&gt; wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'> &nbsp;&nbsp;</SPAN></FONT><FONT SIZE="2"><FONT FACE="Helvetica, Verdana, Arial"><SPAN STYLE='font-size:10pt'>I'm having an issue with logging in esapi.<BR>
&nbsp;<BR>
&nbsp;When my application is starting up, it initializes it's logging and does other things, then it loads esapi. The esapi logger is not initialized yet so it dumps a bunch of logging messages to System.out via the logSpecial() method.<BR>
&nbsp;<BR>
&nbsp;What I would like is a way to configure esapi to disable console logging or to redirect console logging to another type of object which then could be used by my application that already has it's loggings system initialized.<BR>
&nbsp;<BR>
&nbsp;This is the issue that I'm currently having. My server is a console-based app. Startup should look like this:<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;MyApp Service Starting<BR>
&nbsp;&nbsp;&nbsp;License successfully validated<BR>
&nbsp;&nbsp;&nbsp;Loading database schemas<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Database schema being created or updated for MyApp<BR>
</SPAN></FONT></FONT><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'> </SPAN></FONT><FONT SIZE="2"><FONT FACE="Helvetica, Verdana, Arial"><SPAN STYLE='font-size:10pt'> &nbsp;Finished loading database schemas<BR>
&nbsp;MyApp Service Started<BR>
&nbsp;<BR>
&nbsp;Instead, it looks like this:<BR>
&nbsp;<BR>
&nbsp;MyApp Service Starting<BR>
&nbsp;&nbsp;&nbsp;License successfully validated<BR>
&nbsp;&nbsp;&nbsp;Loading database schemas<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Database schema being created or updated for MyApp<BR>
</SPAN></FONT></FONT><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'> </SPAN></FONT><FONT SIZE="2"><FONT FACE="Helvetica, Verdana, Arial"><SPAN STYLE='font-size:10pt'> &nbsp;Finished loading database schemas<BR>
&nbsp;Attempting to load ESAPI.properties via file io.<BR>
&nbsp;Attempting to load ESAPI.properties via file io.<BR>
&nbsp;Found in 'org.owasp.esapi.resources' directory: C:\MyApp\conf\esapi\ESAPI.properties<BR>
&nbsp;Loaded 'ESAPI.properties' properties file<BR>
&nbsp;Attempting to load validation.properties via file io.<BR>
&nbsp;Attempting to load validation.properties via file io.<BR>
&nbsp;Found in 'org.owasp.esapi.resources' directory: C:\MyApp\conf\esapi\validation.properties<BR>
&nbsp;Loaded 'validation.properties' properties file<BR>
&nbsp;MyApp Service Started<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;Redirecting System.out and System.err to log4j (what my app uses) prior to esapi loading solves this issue, the problem then is that the last line &quot;MyApp Service Started&quot; never appears, which is critical.<BR>
&nbsp;<BR>
&nbsp;--Steve<BR>
</SPAN></FONT></FONT><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'><HR ALIGN=CENTER SIZE="3" WIDTH="95%"></SPAN></FONT><FONT SIZE="2"><FONT FACE="Consolas, Courier New, Courier"><SPAN STYLE='font-size:10pt'>_______________________________________________<BR>
Esapi-user mailing list<BR>
<a href="Esapi-user@lists.owasp.org">Esapi-user@lists.owasp.org</a><BR>
<a href="https://lists.owasp.org/mailman/listinfo/esapi-user">https://lists.owasp.org/mailman/listinfo/esapi-user</a><BR>
</SPAN></FONT></FONT></BLOCKQUOTE><FONT SIZE="2"><FONT FACE="Consolas, Courier New, Courier"><SPAN STYLE='font-size:10pt'><BR>
</SPAN></FONT></FONT><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Chris Schmidt<BR>
ESAPI Project Manager (<a href="http://www.esapi.org">http://www.esapi.org</a>)<BR>
ESAPI4JS Project Owner (<a href="http://bit.ly/9hRTLH">http://bit.ly/9hRTLH</a>)<BR>
Blog: <a href="http://yet-another-dev.blogspot.com">http://yet-another-dev.blogspot.com</a><BR>
<BR>
</SPAN></FONT>
</BODY>
</HTML>