Have you verified that you can create a FileStream to the directory and create a file? If log4net has been initialized correctly, this code will create a file named RollingFileAppender.txt that contains the text Hello World!:
foreach (FileAppender appender in log.Logger.Repository.GetAppenders()) { if (appender != null) { string directoryName = Path.GetDirectoryName(appender.File); string tempFile = Path.Combine(directoryName, appender.Name + ".txt"); using (FileStream fileStream = File.OpenWrite(tempFile)) { using (StreamWriter streamWriter = new StreamWriter(fileStream)) { streamWriter.WriteLine("Hello World!"); } } } } ----- Original Message ---- From: Samuel Rochas <[EMAIL PROTECTED]> To: Log4NET User <log4net-user@logging.apache.org> Sent: Wednesday, June 27, 2007 11:51:34 AM Subject: Re: no log file is created Dear Alvaro, I've changed my config according to yours but I still can't log. How could I try to troubleshoot? Samuel Alvaro Rozo escribió: Samuel, Try the following, this works for me in my web.config: <?xml version="1.0"?> <configuration> <configSections> <section name="log4net" type="log4net.Config .Log4NetConfigurationSectionHandler, log4net"/> </configSections> More web config stuff <log4net> <!-- RollingFileAppender looks after rolling over files by size or date --> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="C:\\Dev\\Test\\log\\log.txt"/> <param name="AppendToFile" value="true"/> <param name="MaxSizeRollBackups" value="10"/> <param name="MaximumFileSize" value="100000"/> <param name="RollingStyle" value="Size"/> <param name="StaticLogFileName" value="true"/> <layout type="log4net.Layout.PatternLayout "> <param name="ConversionPattern" value="="%date [%thread] %-5level %logger [%ndc] - %message%newline"/> </layout> </appender> <!-- Setup the root category, add the appenders and set the default level --> <root> <level value="DEBUG"/> <appender-ref ref="RollingFileAppender"/> </root> </log4net> </configuration> On 6/27/07, Samuel Rochas <[EMAIL PROTECTED]> wrote: > > Dear Michael, > > I've tried to define an EventLogAppender as shown bellow, but still nothing > happens. I may have a bigger problem ;-) > In the Solution Explorer view, I can see the Bin directory with the > log4net.dll inside, so for me it looks good. > > If I use an external config file for log4net, where do I tell my application > to use it? > > Thanx > Samuel > > web.config: > <configuration xmlns=" > http://schemas.microsoft.com/.NetConfiguration/v2.0";> > <!-- Register a section handler for the log4net section --> > <configSections> > <section name="log4net" type="System.Configuration.IgnoreSectionHandler" > /> > </configSections> > <appSettings> > </appSettings> > <!-- This section contains the log4net configuration settings --> > <log4net> > <!-- Define some output appenders --> > <appender name="EventLogAppender" > type="log4net.Appender.EventLogAppender" > > <layout type=" log4net.Layout.PatternLayout"> > <conversionPattern value="%date [%thread] %-5level %logger > [%property{NDC}] - %message%newline" /> > </layout> > </appender> > <appender name="A1" type="log4net.Appender.RollingFileAppender"> > <file value="C:\Dev\Test\log\log.txt" /> > <appendToFile value="true" /> > <maxSizeRollBackups value="10" /> > <maximumFileSize value="1024KB" /> > <rollingStyle value="Size" /> > <staticLogFileName value="true" /> > <layout type="log4net.Layout.PatternLayout"> > <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - > %message%newline" /> > </layout> > </appender> > <root> > <level value="DEBUG" /> > <appender-ref ref="EventLogAppender" /> > </root> > <logger name=" com.mypackage.test" > > <level value="DEBUG" /> > <appender-ref ref="EventLogAppender" /> > </logger> > </log4net> > > Michael Schall escribió: > > Are any of the other appenders working(EventViewer, Console)? If not are you > configuring log4net? I see you have your configuration in your web config > file. We don't do it this way. > > If the others are working, it has to be in your config file or > environment... > > We use external config files and configure it manually during > Application_Start in the global.asax. Below is a sample of our > Web.log4net.config file. This way we can change logging without resetting > the web site. > > <log4net> > > <appender name="RollingFile" type="log4net.Appender.RollingFileAppender > "> > <file value="..\..\log\Regen.log" /> > <rollingStyle value="Composite" /> > <appendToFile value="false" /> > <datePattern value="yyyyMMdd" /> > <maximumFileSize value="100MB" /> > <maxSizeRollBackups value="-1" /> > <StaticLogFileName value="false" /> > <layout type=" log4net.Layout.PatternLayout"> > <conversionPattern value="%5level [%date] [%thread] > %-30.30logger{2} %message%newline" /> > </layout> > </appender> > > <appender name="EventLog" type="log4net.Appender.EventLogAppender" > > <applicationName value="Regen" /> > <filter type=" log4net.Filter.LevelRangeFilter"> > <levelMin value="INFO" /> > </filter> > <layout type="log4net.Layout.PatternLayout "> > <conversionPattern value="%logger %newline %message" /> > </layout> > </appender> > > <root> > <level value="DEBUG" /> > <appender-ref ref="RollingFile" /> > <appender-ref ref="EventLog" /> > </root> > > </log4net> > > > On 6/27/07, Samuel Rochas < [EMAIL PROTECTED]> wrote: > > > > Dear Michael, > > > > I have changed my app to write a file using a TextWriter and this is > > working so I believe my app has rights to write files. But I still have > > the log problem, no log file is created. > > > > Do you have any suggestion on what should I try now? > > > > Regards > > Samuel > > > > Michael Schall escribió: > > > > You don't need to escape them. Here is my appender declaration... > > > > <appender name="RollingFile" > > type="log4net.Appender.RollingFileAppender"> > > <file value="C:\Projects\Company_Name\Project_Name\log\web.log" /> > > <appendToFile value="true" /> > > <maximumFileSize value="100MB" /> > > <maxSizeRollBackups value="-1" /> > > <layout type=" log4net.Layout.PatternLayout "> > > <conversionPattern value="%5level [%date] [%thread] > > %-30.30logger{2} %message%newline" /> > > </layout> > > </appender> > > > > > > On 6/22/07, Samuel Rochas <[EMAIL PROTECTED] > wrote: > > > Dear Michael, > > > > > > I run the web server which comes with studio. I am not sure how / where > > > > > > to configure it. I open the IIS tool, and in the "Default web site" > > > properties, I setup the directory rights to write. But no change is to > > > see. > > > > > > Do you need to escape the '\' characters like you do in Java for the > > > absolute file path like "C:\\path1\\path2\\file.txt"? > > > > > > Thank you > > > Samuel > > > > > > Michael Schall escribió: > > > > The user the application is running as has to have rights to write to > > > > / create files in the folder where you are logging. Keep in mind that > > > > if you are debugging, that might be a different relative path than if > > > > you are running the program directly. I use an absolute path for my > > > > rolling file appenders and they work great. > > > > > > > > Mike > > > > > > > > > > > > > > > > > -- > > > > > > -- > > > > ________________________________ > > > > > > > Samuel Rochas > International Education Systems (IES) > Technological Resources > Paseo Conde Sepúlveda, 16 40002-Segovia España > Tel: +(34) 921 100 608 g Fax: +(34) 921 443 592 > [EMAIL PROTECTED] g www.iesedu.com > > > > > >