You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-user@logging.apache.org by Nicko Cadell <ni...@neoworks.com> on 2004/03/01 16:10:08 UTC

RE: New User Questions

Gene,

Thanks for the detailed error report!

> QUESTION: I am looking for some VB.Net samples and have not 
> been able to find any. This would be a lot of help.

There are some VB.NET examples in the download. Not as many as we would
like!
Have a look at: examples\net\1.0\Tutorials\ConsoleApp\vb\src

 
> QUESTION/PROBLEM:

This issue is related to the way in which you are asking log4net to load
it's configuration. From looking at the trace I assume that you are calling
DOMConfigurator.Configure() from within your application. This method of
configuration loads the configuration element from the config file using the
System.Configuration.ConfigurationSettings class. For this to work correctly
you need to specify the log4net section handler in the .config file like
this:

<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />


You might ask why the examples set the section handler to
System.Configuration.IgnoreSectionHandler?

If you call the DOMConfigurator.Configure(FileInfo) or
DOMConfigurator.ConfigureAndWatch() methods then the configuration is loaded
from the specified file whether or not it is a .net .config file. Therefore
the <section> handler is irrelevant.

If you use the DOMConfiguratorAttribute to configure logging this uses the
DOMConfigurator.Configure(FileInfo) methods to initialise logging, therefore
the section handler is not used here either.

Rather than configuring log4net programmatically try adding this assembly
level attribute to your application:

<Assembly:log4net.Config.DOMConfigurator()>


Cheers,

Nicko

> -----Original Message-----
> From: Gene Webb [mailto:gene_webb@msn.com] 
> Sent: 29 February 2004 06:59
> To: log4net-user@logging.apache.org
> Subject: New User Questions
> 
> QUESTION: I am looking for some VB.Net samples and have not 
> been able to find any. This would be a lot of help.
> 
> QUESTION/PROBLEM:
> 
> Specify the version of log4net you are using. ->Latest Beta 
> 1.2.0 Beta 8
> 
> Specify what your assembly type is, i.e. exe or dll, and how 
> your code is launched, e.g. console application, windows 
> application, ASP.NET project, 
> COM+ hosted object, etc... ->Console Application
> 
> Specify which runtime platform (e.g. MS .NET, Mono, SSCLI) 
> you are using and 
> which version. -> .Net
> 
> MY ERROR IS:
> 
> log4net:ERROR DOMConfigurator: ConfigureFromXML called with 
> null 'element' 
> parameter
> 
> 
> 'DefaultDomain': Loaded 
> 'c:\windows\microsoft.net\framework\v1.1.4322\mscorlib.dll', 
> No symbols 
> loaded.
> 'MyLog4Net': Loaded 'D:\Visual Studio 
> Projects\MyLog4Net\MyLog4Net\bin\MyLog4Net.exe', Symbols loaded.
> 'MyLog4Net.exe': Loaded 'd:\visual studio 
> projects\mylog4net\mylog4net\bin\log4net.dll', Symbols loaded.
> 'MyLog4Net.exe': Loaded 
> 'c:\windows\assembly\gac\system\1.0.5000.0__b77a5c561934e089\s
> ystem.dll', No 
> symbols loaded.
> 'MyLog4Net.exe': Loaded 
> 'c:\windows\assembly\gac\system.xml\1.0.5000.0__b77a5c561934e0
> 89\system.xml.dll', 
> No symbols loaded.
> log4net: log4net assembly [log4net, Version=1.2.0.30714, 
> Culture=neutral, 
> PublicKeyToken=null]. Loaded from [d:\visual studio 
> projects\mylog4net\mylog4net\bin\log4net.dll]. (.NET Runtime 
> [1.1.4322.573] 
> on Microsoft Windows NT 5.1.2600.0)
> log4net: DefaultRepositorySelector: defaultRepositoryType 
> [log4net.Repository.Hierarchy.Hierarchy]
> log4net: DefaultRepositorySelector: Creating repository for assembly 
> [MyLog4Net, Version=1.0.1519.38204, Culture=neutral, 
> PublicKeyToken=null]
> log4net: DefaultRepositorySelector: Assembly [MyLog4Net, 
> Version=1.0.1519.38204, Culture=neutral, PublicKeyToken=null] 
> Loaded From 
> [D:\Visual Studio Projects\MyLog4Net\MyLog4Net\bin\MyLog4Net.exe]
> log4net: DefaultRepositorySelector: Assembly [MyLog4Net, 
> Version=1.0.1519.38204, Culture=neutral, PublicKeyToken=null] 
> does not have 
> a DomainAttribute specified.
> log4net: DefaultRepositorySelector: Assembly [MyLog4Net, 
> Version=1.0.1519.38204, Culture=neutral, PublicKeyToken=null] 
> using domain 
> [log4net-default-domain] and repository type 
> [log4net.Repository.Hierarchy.Hierarchy]
> log4net: DefaultRepositorySelector: Creating repository for domain 
> [log4net-default-domain] using type 
> [log4net.Repository.Hierarchy.Hierarchy]
> log4net: DOMConfigurator: configuring repository 
> [log4net-default-domain] 
> using .config file section
> log4net: DOMConfigurator: Application config file is 
> [D:\Visual Studio 
> Projects\MyLog4Net\MyLog4Net\bin\MyLog4Net.exe.config]
> log4net:ERROR DOMConfigurator: ConfigureFromXML called with 
> null 'element' 
> parameter
> The program '[476] MyLog4Net.exe' has exited with code 0 (0x0).
> 
> MY CONFIG FILE:
> 
> 
> <?xml version="1.0" encoding="utf-8" ?>
> <!--
>      .NET application configuration file
> 
>      This file must have the exact same name as your application with
>      .config appended to it. For example if your application is 
> ConsoleApp.exe
>      then the config file must be ConsoleApp.exe.config it 
> mut also be in 
> the
>      same directory as the application.
> -->
> <configuration>
>     <!-- Register a section handler for the log4net section -->
>     <configSections>
>         <section name="log4net" 
> type="System.Configuration.IgnoreSectionHandler" />
>     </configSections>
>     <!-- Enable internal debugging in log4net -->
>     <appSettings>
>         <!-- To enable internal log4net logging specify the following 
> appSettings key -->
>         <add key="log4net.Internal.Debug" value="true"/>
>     </appSettings>
>     <!-- This section contains the log4net configuration settings -->
>     <log4net>
>         <!-- Define some output appenders -->
>         <appender name="RollingLogFileAppender" 
> type="log4net.Appender.RollingFileAppender">
>             <param name="File" value="LQSS-SS-log.txt" />
>             <param name="AppendToFile" value="true" />
>             <param name="MaxSizeRollBackups" value="10" />
>             <param name="MaximumFileSize" value="100" />
>             <param name="RollingStyle" value="Size" />
>             <param name="StaticLogFileName" value="true" />
>             <layout type="log4net.Layout.PatternLayout">
>                 <param name="Header" value="[Header]\r\n" />
>                 <param name="Footer" value="[Footer]\r\n" />
>                 <param name="ConversionPattern" value="%d 
> [%t] %-5p %c [%x] 
> - %m%n" />
>             </layout>
>         </appender>
>         <appender name="LogFileAppender" 
> type="log4net.Appender.FileAppender">
>             <param name="File" value="log-file.txt" />
>             <!-- Example using environment variables in params -->
>             <!-- <param name="File" 
> value="${TMP}\\log-file.txt" /> -->
>             <param name="AppendToFile" value="true" />
>             <!-- An alternate output encoding can be specified -->
>             <!-- <param name="Encoding" value="unicodeFFFE" /> -->
>             <layout type="log4net.Layout.PatternLayout">
>                 <param name="Header" value="[Header]\r\n" />
>                 <param name="Footer" value="[Footer]\r\n" />
>                 <param name="ConversionPattern" value="%d 
> [%t] %-5p %c [%x] 
> &lt;%X{auth}&gt; - %m%n" />
>             </layout>
>             <!-- Alternate layout using XML
>             <layout type="log4net.Layout.XMLLayout" />
>             -->
>         </appender>
>         <appender name="ConsoleAppender" 
> type="log4net.Appender.ConsoleAppender">
>             <layout type="log4net.Layout.PatternLayout">
>                 <param name="ConversionPattern" value="%d 
> [%t] %-5p %c [%x] 
> &lt;%X{auth}&gt; - %m%n" />
>             </layout>
>         </appender>
>         <!-- Example of how to configure the ADONetAppender
>         <appender name="ADONetAppender" 
> type="log4net.Appender.ADONetAppender" >
>             <param name="ConnectionString" 
> value="Driver={Microsoft Access 
> Driver 
> (*.mdb)};DBQ=C:\\Work\\cvs_root\\log4net-1.2\\access.mdb;UID=;PWD=;" 
> />
>             <layout type="log4net.Layout.PatternLayout">
>                 <param name="ConversionPattern" value="INSERT 
> INTO Log 
> ([Date],[Thread],[Level],[Logger],[Message]) VALUES 
> ('%d','%t','%p','%c','%m')" />
>             </layout>
>         </appender>
>         -->
>         <!--
>         <appender name="A" 
> type="log4net.Appender.ForwardingAppender" >
>             <param name="Threshold" value="WARN"/>
>             <appender-ref ref="ConsoleAppender" />
>         </appender>
>         <appender name="B" 
> type="log4net.Appender.ForwardingAppender" >
>             <filter type="log4net.Filter.LevelRangeFilter">
>                 <param name="LevelMin" value="DEBUG"/>
>                 <param name="LevelMax" value="INFO"/>
>             </filter>
>             <appender-ref ref="ConsoleAppender" />
>         </appender>
>         -->
>         <!-- Example of how to configure the ADONetAppender 
> to connect to MS 
> Access -->
>         <appender name="ADONetAppender_Access" 
> type="log4net.Appender.ADONetAppender">
>             <param name="ConnectionString" 
> value="Provider=Microsoft.Jet.OLEDB.4.0;Data 
> Source=C:\\Work\\cvs_root\\log4net-1.2\\access.mdb;User 
> Id=;Password=;" />
>             <param name="CommandText" value="INSERT INTO Log 
> ([Date],[Thread],[Level],[Logger],[Message]) VALUES 
> (@log_date, @thread, 
> @log_level, @logger, @message)" />
>             <param name="Parameter">
>                 <param name="ParameterName" value="@log_date" />
>                 <param name="DbType" value="String" />
>                 <param name="Size" value="255" />
>                 <param name="Layout" 
> type="log4net.Layout.PatternLayout">
>                     <param name="ConversionPattern" value="%d" />
>                 </param>
>             </param>
>             <param name="Parameter">
>                 <param name="ParameterName" value="@thread" />
>                 <param name="DbType" value="String" />
>                 <param name="Size" value="255" />
>                 <param name="Layout" 
> type="log4net.Layout.PatternLayout">
>                     <param name="ConversionPattern" value="%t" />
>                 </param>
>             </param>
>             <param name="Parameter">
>                 <param name="ParameterName" value="@log_level" />
>                 <param name="DbType" value="String" />
>                 <param name="Size" value="50" />
>                 <param name="Layout" 
> type="log4net.Layout.PatternLayout">
>                     <param name="ConversionPattern" value="%p" />
>                 </param>
>             </param>
>             <param name="Parameter">
>                 <param name="ParameterName" value="@logger" />
>                 <param name="DbType" value="String" />
>                 <param name="Size" value="255" />
>                 <param name="Layout" 
> type="log4net.Layout.PatternLayout">
>                     <param name="ConversionPattern" value="%c" />
>                 </param>
>             </param>
>             <param name="Parameter">
>                 <param name="ParameterName" value="@message" />
>                 <param name="DbType" value="String" />
>                 <param name="Size" value="1024" />
>                 <param name="Layout" 
> type="log4net.Layout.PatternLayout">
>                     <param name="ConversionPattern" value="%m" />
>                 </param>
>             </param>
>         </appender>
>         <!-- Example of how to configure the ADONetAppender 
> to connect to MS 
> SQL Server -->
>         <appender name="ADONetAppender_SqlServer" 
> type="log4net.Appender.ADONetAppender">
>             <param name="BufferSize" value="1" />
>             <param name="ConnectionType" 
> value="System.Data.SqlClient.SqlConnection, System.Data, 
> Version=1.0.3300.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089" />
>             <param name="ConnectionString" value="data 
> source=GUINNESS;initial catalog=test_log4net;integrated 
> security=false;persist security info=True;User ID=sa;Password=sql" />
>             <param name="CommandText" value="INSERT INTO Log 
> ([Date],[Thread],[Level],[Logger],[Message]) VALUES 
> (@log_date, @thread, 
> @log_level, @logger, @message)" />
>             <param name="Parameter">
>                 <param name="ParameterName" value="@log_date" />
>                 <param name="DbType" value="DateTime" />
>                 <!--
>                 <param name="Layout" 
> type="log4net.Layout.PatternLayout">
>                     <param name="ConversionPattern" 
> value="%d{yyyy'-'MM'-'dd 
> HH':'mm':'ss'.'fff}" />
>                 </param>
>                 -->
>                 <param name="Layout" 
> type="log4net.Layout.RawTimeStampLayout" />
>             </param>
>             <param name="Parameter">
>                 <param name="ParameterName" value="@thread" />
>                 <param name="DbType" value="String" />
>                 <param name="Size" value="255" />
>                 <param name="Layout" 
> type="log4net.Layout.PatternLayout">
>                     <param name="ConversionPattern" value="%t" />
>                 </param>
>             </param>
>             <param name="Parameter">
>                 <param name="ParameterName" value="@log_level" />
>                 <param name="DbType" value="String" />
>                 <param name="Size" value="50" />
>                 <param name="Layout" 
> type="log4net.Layout.PatternLayout">
>                     <param name="ConversionPattern" value="%p" />
>                 </param>
>             </param>
>             <param name="Parameter">
>                 <param name="ParameterName" value="@logger" />
>                 <param name="DbType" value="String" />
>                 <param name="Size" value="255" />
>                 <param name="Layout" 
> type="log4net.Layout.PatternLayout">
>                     <param name="ConversionPattern" value="%c" />
>                 </param>
>             </param>
>             <param name="Parameter">
>                 <param name="ParameterName" value="@message" />
>                 <param name="DbType" value="String" />
>                 <param name="Size" value="4000" />
>                 <param name="Layout" 
> type="log4net.Layout.PatternLayout">
>                     <param name="ConversionPattern" value="%m" />
>                 </param>
>             </param>
>         </appender>
>         <!-- Setup the root category, add the appenders and 
> set the default 
> level -->
>         <root>
>             <level value="WARN" />
>             <appender-ref ref="LogFileAppender" />
>             <appender-ref ref="ConsoleAppender" />
>             <!-- <appender-ref ref="ADONetAppender_SqlServer" /> -->
>             <!-- <appender-ref ref="A" /> -->
>         </root>
>         <!-- Specify the level for some specific categories -->
>         <logger name="ConsoleApp.LoggingExample">
>             <!-- <appender-ref ref="B" /> -->
>             <level value="ALL" />
>             <appender-ref ref="RollingLogFileAppender" />
>         </logger>
>     </log4net>
> </configuration>
> 
> Gene Webb
> 
> _________________________________________________________________
> Click, drag and drop. My MSN is the simple way to design your 
> homepage. 
> http://click.atdmt.com/AVE/go/onm00200364ave/direct/01/
>