小编Phi*_*p M的帖子

将日志写入文件

将日志从log4net写入文件时遇到了一些麻烦.我似乎按照手册中的描述完成所有操作,但这不起作用.这是我的logging.config文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="log.txt" />
      <appendToFile value="true" />
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %message%newline" />
      </layout>
    </appender>
  </log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

请帮助一个实际工作的配置文件的例子.

.net c# logging log4net log4net-configuration

38
推荐指数
4
解决办法
6万
查看次数

每天有一个日志

目前我的应用程序使用log4net来记录错误,web.config为此如下:

<log4net> 
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
        <file value="c:/paypal/logs/gateway.log" />
        <appendToFile value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] – %message%newline" />
        </layout>
    </appender>
    <root>
        <level value="DEBUG" />
        <appender-ref ref="FileAppender" />
    </root>
</log4net>
Run Code Online (Sandbox Code Playgroud)

但是,问题在于每天都会记录日志 gateway.log

有没有人知道使用log4net每天拥有不同日志文件的方法?

理想情况下,我不希望web.config每天使用计划任务手动编辑.

c# error-handling logging log4net

38
推荐指数
3
解决办法
5万
查看次数

MVC 3从web.config中的AppSettings获取值

在普通的ASP.NET Web表单站点中,我将使用web.configs"appsettings"将应用程序设置数据添加到站点.但是,使用MVC 3时,我无法以这种方式检索设置值.

首先,有2个web.config文件.一个位于站点的根目录中,第二个列在"视图"区域中.我假设我想将我的appsettings信息放在root web.config文件中,对吗?(将其置于其他视图下似乎会产生错误,指出"AppSettings"每个Web应用程序只能出现一次.)

当我尝试检索它时(C#:System.Configuration.ConfigurationManager.AppSettings ["SettingName"])我得到一个空白或空/ null返回值.我究竟做错了什么?

我应该提一下,我实际上是在模型区域下的类文件中检索此信息,以获取使用get的模型的特定值集; 组;.我有可能不允许在模特中这样做吗?

在Controller.cs中:

WindowsLiveConnect.ServiceConfiguration WLSC = new WindowsLiveConnect.ServiceConfiguration();

ViewBag.ClientID = SC.ClientID; // This returns empty
Run Code Online (Sandbox Code Playgroud)

在web.config中

...

  <appSettings>
    <add key="webpages:Version" value="1.0.0.0"/>
    <add key="ClientValidationEnabled" value="true"/>
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/>

    <add key="ClientID" value="0000000040062A3F" />
    <add key="ClientSecret" value="SUPERSECRETPASSWORD" />
    <add key="RedirectURL" value="http%3A%2F%2Fwww.quilnet.com" />
  </appSettings>

...
Run Code Online (Sandbox Code Playgroud)

在Model.cs文件中:

        public class ServiceConfiguration
        {
            private string clientid;
            private string clientsecret;
            private string redirecturl;

            public string ClientID
            {

                get { return clientid; }

                set
                {
                    clientid = System.Configuration.ConfigurationManager.AppSettings["ClientID"];
                }
            }

            public …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

33
推荐指数
3
解决办法
9万
查看次数

Log4net随机停止记录.

我目前正在使用log4net构建一个ASP.Net-MVC应用程序进行日志记录,但是记录器似乎只是随机停止.它会愉快地记录一段时间,然后停止,然后在一段时间后再次启动.我甚至不确定是什么让它恢复记录.我不是在谈论丢失的一些消息 - 有时它会消失很长一段时间,比如一个小时左右.

为什么会这样停下来开始?我应该如何正确配置它,以便它不会随意停止?

这是我的配置:

<log4net debug="true">
<appender name="RollingLogFileAppender"
        type="log4net.Appender.RollingFileAppender">

  <file value="..\Logs\\CurrentLog.txt" />
  <appendToFile value="true" />
  <datePattern value="yyyyMMdd" />

  <rollingStyle value="Date" />
  <filter type="log4net.Filter.LevelRangeFilter">
    <acceptOnMatch value="true" />

    <levelMin value="INFO" />
    <levelMax value="FATAL" />
  </filter>

  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern
    value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />
  </layout>

</appender>

<root>
  <level value="INFO" />
  <appender-ref ref="RollingLogFileAppender" />
</root>
Run Code Online (Sandbox Code Playgroud)

log4net

31
推荐指数
1
解决办法
1万
查看次数

为什么我的所有log4net级别都是假的?

我在我的ASP.NET MVC3项目中使用log4net,但所有日志属性,如IsDebugEnabled== false

在我的AssemblyInfo中,我有:

[assembly: XmlConfigurator(Watch = true)]
Run Code Online (Sandbox Code Playgroud)

在我的日志课中,我有

public Log4NetLogger()
{
    log4net.Config.XmlConfigurator.Configure();
    Logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
}
Run Code Online (Sandbox Code Playgroud)

我在Web.Config中的相关配置是:

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=152368
  -->
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false"/>
       </sectionGroup>
  </configSections>

    <log4net debug="false">
      <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
        <bufferSize value="100" />
        <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <connectionString value="{removed}" />
        <commandText value="INSERT INTO Logging ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, …
Run Code Online (Sandbox Code Playgroud)

c# log4net asp.net-mvc-3 log4net-configuration

30
推荐指数
6
解决办法
3万
查看次数

如何配置log4net以使log.IsDebugEnabled为true?

我试图在Visual Studio 2005的ASP.NET应用程序中使用log4net.我已经声明了一个logger实例,如下所示:

Private Shared ReadOnly log As ILog = LogManager.GetLogger("")
Run Code Online (Sandbox Code Playgroud)

我试图以下列方式使用它:

If log.IsDebugEnabled Then
   log.Debug("Integration Services Constructed")
End If
Run Code Online (Sandbox Code Playgroud)

这是我的配置:

<log4net>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="RollingFileAppender" />
    </root>

    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="..\\logs\\logfile.log"/>
        <appendToFile value="true"/>
        <rollingStyle value="Size"/>
        <maxSizeRollBackups value="10"/>
        <maximumFileSize value="1MB"/>
        <staticLogFileName value="true"/>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG" />
            <param name="LevelMax" value="FATAL" />
        </filter>
    </appender>

</log4net>
Run Code Online (Sandbox Code Playgroud)

不幸的是,log.IsDebugEnabled总是假的.
如何配置log4net以便我只能记录调试消息?

vb.net debugging configuration log4net

28
推荐指数
3
解决办法
3万
查看次数

if(document.getElementById('something')!= null)是否与if(document.getElementById('something'))相同?

当我想检查页面中是否存在元素时.这两个检查是否相同?有没有更好的更紧凑的方式来检查存在?

如果我要检查value == ''.这也可以包含在此检查中吗?

javascript jquery dom

28
推荐指数
3
解决办法
13万
查看次数

程序集属性中的Log4net配置不会加载配置文件

我的bin目录中有以下文件Log4net.config:

<?xml version="1.0" encoding="utf-8" ?>
<log4net xmlns="urn:log4net">
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
        <param name="file" value="MyLogFile.log"/>
        <param name="appendToFile" value="false"/>
        <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%date (%logger) [%5level] - %message" />
        </layout>
    </appender>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
        <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%date (%logger) [%5level] - %message" />
        </layout>
    </appender>
    <root>
        <level value="DEBUG" />
        <appender-ref ref="FileAppender" />
        <appender-ref ref="ConsoleAppender"/>
    </root>
    <logger name="NHibernate" additivity="false">
        <level value="WARN"/>
    </logger>
</log4net>
Run Code Online (Sandbox Code Playgroud)

以及AssemblyInfo.cs文件中的以下代码:

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyTitle("My Project")]
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4net.config", Watch = true)]
Run Code Online (Sandbox Code Playgroud)

当我运行程序时,我得到以下log4net调试输出: …

log4net log4net-configuration

27
推荐指数
2
解决办法
3万
查看次数

log4net将无法从app.config中读取

我为log4net配置了两个相同的项目.一个项目记录正常; 但是,另一个根本没有记录.

Logger在不登录的回报项目IsFatalEnabled = false,IsErrorEnabled = false,IsWarnEnabled = false,IsInforEnabled = falseIsDebugEnabled = false.

我已经从一个项目复制并粘贴到另一个项目中,完全替换了文件并尝试删除所有空格.

什么可能导致一个项目没有正确地从app.config读取正确的级别?

的app.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
      <file value="logfile.txt" />
      <appendToFile value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date: %-5level – %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="DEBUG" />
      <appender-ref ref="FileAppender" />
    </root>
  </log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

Program.cs中

using log4net;

class Program
{
    private static readonly ILog Log …
Run Code Online (Sandbox Code Playgroud)

log4net log4net-configuration

24
推荐指数
1
解决办法
2万
查看次数

Log4net RollingFileAppender Size rollingStyle文件扩展名

我正在使用RollingFileAppender和大小的rollingStyle.默认情况下,它会创建带有编号扩展名的备份文件,这让我感到疯狂.是否可以更改它以便始终使用已定义的扩展名(例如.txt或.log)并将数字作为文件名的一部分插入?

例如:

myapp.log
myapp.1.log
myapp.2.log
myapp.3.log

这是我目前的配置:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="myapp.log"/>
    <appendToFile value="true"/>
    <rollingStyle value="Size"/>
    <maximumFileSize value="1MB"/>
    <maxSizeRollBackups value="10"/>
    <staticLogFileName value="true"/>
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{ISO8601} [%3thread] %-5level %logger{3}: %message%newline" />
    </layout>
</appender>
Run Code Online (Sandbox Code Playgroud)

log4net

23
推荐指数
1
解决办法
1万
查看次数