近段时间在做C#的项目,使用到了Windows Service.项目包括一个Windows Service工程,一个具体的业务处理工程(dll)以及一个安装工程.现就这几天的使用心得做一下说明.刚开始的时候这几个工程没有连在一块进行调试,也就是说它们几个是各自为营的,开始时候为了方便调试业务处理工程采用的是Windows应用程序,对于Windows应用程序来说要想通过log4net.dll来处理log只要配置一个App.config文件和AssemblyInfo.cs的相关信息就可以了。具体配置方法请参照我的blog(C#中log4net的使用)。
之前的时候log的输出是没有任何问题的,后来我将这几个工程合为一个项目,此时业务处理工程的输出类型也由Windows应用程序改变为类库工程,这个时候问题就来了,以前在这个业务处理工程正常运行的log,现在不能输出了。这应该怎么办呢。经过了2个小时的研究,终于找到了解决方案。
对于一个dll(假设为process.dll)来说,如果它被另外的一个应用调用(假设为testService.exe)或者被另外的dll(假设为testService.dll)文件调用,如果还想使用log4net输出log的话你需要修正配置文件的名称,将配置文件的名称修正为testService.exe.config或testService.dll.config,至此问题就迎韧而解了。 真是有种柳暗花明又一村的感觉.呵呵.
之前的时候log的输出是没有任何问题的,后来我将这几个工程合为一个项目,此时业务处理工程的输出类型也由Windows应用程序改变为类库工程,这个时候问题就来了,以前在这个业务处理工程正常运行的log,现在不能输出了。这应该怎么办呢。经过了2个小时的研究,终于找到了解决方案。
对于一个dll(假设为process.dll)来说,如果它被另外的一个应用调用(假设为testService.exe)或者被另外的dll(假设为testService.dll)文件调用,如果还想使用log4net输出log的话你需要修正配置文件的名称,将配置文件的名称修正为testService.exe.config或testService.dll.config,至此问题就迎韧而解了。 真是有种柳暗花明又一村的感觉.呵呵.