?
Solved

Enable environment variables in Log4Net file name value

Posted on 2010-09-17
6
Medium Priority
?
1,581 Views
Last Modified: 2012-05-10
I'm wondering why I can't seem to use environment variables in the following settings in a .config file for a .net application:

<appender name="RollingLogFile" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="..\\Logg\\Dashboard\\logfilename.log"/>
      <param name="AppendToFile" value="true"/>
      <param name="MaxSizeRollBackups" value="3"/>
      <param name="MaximumFileSize" value="5MB"/>
      <param name="RollingStyle" value="Size"/>
      <param name="StaticLogFileName" value="true"/>
      <param name="CountDirection" value="-1"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n"/>
      </layout>

Open in new window


If I try to use i.e. ${USERNAME}.log it only creates a new file with the filename ${USERNAME}.log instead of a username.

What is the correct syntax/variable to use for this, if possible at all?

This is a Windows environment
0
Comment
Question by:beester
  • 3
  • 2
5 Comments
 
LVL 13

Expert Comment

by:Corey Scheich
ID: 33702525
Try using %USERNAME% I believe with log4net you have to use command line syntax for file name and path.
0
 
LVL 7

Author Comment

by:beester
ID: 33712215
Nope, doesn't seem to help. Tried ${%USERNAME%}, env{%USERNAME%}, {%USERNAME%} and just %USERNAME%, and all it does is to create a log file with the name as I write it, it doesn't parse the environment variables...
0
 
LVL 13

Accepted Solution

by:
Corey Scheich earned 2000 total points
ID: 33713189
I recall running into an issue with this with the rolling log file appender I have been configuring it through code instead of  Settings.


            Dim apdr As New Appender.RollingFileAppender()
            Dim layout As New log4net.Layout.PatternLayout("%date [%thread] %-5level %logger [%property{NDC}] - %message%newline")
            Dim Folder As String = My.Computer.FileSystem.SpecialDirectories.Temp
            With apdr
                .LockingModel = New log4net.Appender.RollingFileAppender.MinimalLock()
                .Name = "MyApplication Log"
                'Appears to be in bytes so this = 1mb
                .MaxFileSize = 1049000
                .AppendToFile = True
                .File = IO.Path.Combine(Folder, "MyApplication.log")
end with

Open in new window

0
 
LVL 7

Author Comment

by:beester
ID: 33765669
I checked with our head programmer, and he said that this wasn't a viable solution for us. But he also said he thought this was solved in a newer Log4Net than the one we use, so I guess I'll try upgrading first...
0
 
LVL 13

Expert Comment

by:Corey Scheich
ID: 33928589
Which version of log4net are you using?
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Hello there! As a developer I have modified and refactored the unit tests which was written by fellow developers in the past. On the course, I have gone through various misconceptions and technical challenges when it comes to implementation. I would…
Kernel Data Recovery is a renowned Data Recovery solution provider which offers wide range of softwares for both enterprise and home users with its cost-effective solutions. Let's have a quick overview of the journey and data recovery tools range he…
If you are looking for an automated solution for backup single or multiple Office 365 user mailboxes to Outlook data file, then you can use Kernel Office 365 Backup & Restore tool. Go through the video to check out the steps to backup single or mult…

599 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question