[ 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