[ http://issues.apache.org/jira/browse/LOG4NET-65?page=all ]
     
Nicko Cadell resolved LOG4NET-65:
---------------------------------

    Resolution: Fixed

Checked in a code fix to this issue that adds additional try/catch blocks to 
check for the PathDiscovery permissions exception and to log more details of 
the error condition.

> Unhandled SecurityException exception for FileIOPermission while loading 
> configuration file
> -------------------------------------------------------------------------------------------
>
>          Key: LOG4NET-65
>          URL: http://issues.apache.org/jira/browse/LOG4NET-65
>      Project: Log4net
>         Type: Bug
>   Components: Core
>     Versions: 1.2.9
>     Reporter: Nicko Cadell
>     Assignee: Nicko Cadell
>      Fix For: 1.2.10

>
> If the calling application does not have the PathDiscovery FileIOPermission a 
> SecurityException is generated from the XmlConfiguratorAttribute.Configure 
> method. This is called from the first LoggerManager.GetLogger in a calling 
> assembly.
> The exception should be caught as we may potentially be injecting this 
> exception into user code's class initialisation phase which the user would 
> find unexpected.
> An example stack trace for the exception is:
> [SecurityException: Request for the permission of type 
> 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
>    System.Security.CodeAccessSecurityEngine.Check(Object demand, 
> StackCrawlMark& stackMark, Boolean isPermSet) +0
>    System.Security.CodeAccessPermission.Demand() +59
>    System.AppDomainSetup.VerifyDir(String dir, Boolean normalize) +110
>    System.AppDomain.get_BaseDirectory() +61
>    log4net.Util.SystemInfo.get_ApplicationBaseDirectory() +31
>    log4net.Config.XmlConfiguratorAttribute.Configure(Assembly sourceAssembly, 
> ILoggerRepository targetRepository) +30
>    log4net.Core.DefaultRepositorySelector.ConfigureRepository(Assembly 
> assembly, ILoggerRepository repository) +314
>    log4net.Core.DefaultRepositorySelector.CreateRepository(Assembly 
> repositoryAssembly, Type repositoryType, String repositoryName, Boolean 
> readAssemblyAttributes) +532
>    log4net.Core.DefaultRepositorySelector.CreateRepository(Assembly 
> repositoryAssembly, Type repositoryType) +42
>    log4net.Core.DefaultRepositorySelector.GetRepository(Assembly 
> repositoryAssembly) +80
>    log4net.Core.LoggerManager.GetLogger(Assembly repositoryAssembly, String 
> name) +132
>    log4net.LogManager.GetLogger(Assembly repositoryAssembly, String name) +30
>    log4net.LogManager.GetLogger(String name) +34

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to