The Log4Net mailing list is a great source of information about using log4Net, in this forum we collect all the messages in the log4net user list and some selected threads from the developer list.
| Author |
Messages |
|
Eric Chamberlain
 |
| 06/19/2009 6:56 PM |
|
I have discovered the source of the problem. We had split out the <log4net> configuration from the web.config but with a redirection left inside the web.config of the form:
<log4net file="other_config_directory/log4net.config" />
The file at the end was of the correct syntax and could be used by log4net but only to the extent that we used the <param...> elements.
I have modified the program to initialized log4net directly from the split-out file and it works with full syntactical support.
Go figure, eh?
== Eric ==
|
|
|
|
|
Ron Grabowski
 |
| 06/19/2009 10:48 PM |
|
Log4net doesn't process the file attribute. I'm not sure how you're using it. These two nodes are processed identically during configuration: <param name="Hello" value="World" /> <Hello value="World "/>
|
|
|
|
|
Eric Chamberlain
 |
| 06/19/2009 11:09 PM |
|
Actually, the file attribute on the <log4net> node is processed by the .NET framework as a redirection to the given file. The attribute tells .NET to look for the actual definition of the section in the given file. log4net should be oblivious to this but it is not.
The behavior seen is that log4net does read its configuration information from the specified file *but* it doesn't recognize those standard XML tags we log4net users have come to know and love. All it recognizes is <param . . . />. Of course, one could work around this--no functionality is prevented by this behavior--but it is rather awkward and unfriendly to work that way (especially if you're trying to do something like use schema directives for "intellisense"-like help).
It is also much more readable to use the standard log4net schema and understandable to people who come onboard the project from other projects which have also used log4net.
The take-away from this experience for me is that web.config redirections do not work nicely for log4net configuration. Though one can make them work, they exact a penalty. Better it is to just directly name that separate log4net config file when one initializes log4net.
BTW, the best "intellisense" log4net schema I have found so far is from csharptest.net and is expressed as follows:
<log4net xsi:noNamespaceSchemaLocation="http://csharptest.net/downloads/schema/log4net.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
If there is another one better, I would like to hear about it. Specifically, it would be nice if I could find such a schema at logging.apache.org !
== Eric ==
|
|
|
|
|
|
| You are not authorized to post a reply. |
|
|
|
ActiveForums 3.7
|