标签: fileappender

两个 log4j fileappenders 可以写入同一个文件吗?

暂时忘记您为什么要这样做的问题 - 如果出于某种原因,两个 FileAppender 配置了相同的文件 - 这个设置会起作用吗?

log4j appender fileappender

5
推荐指数
1
解决办法
6221
查看次数

Log4j FileAppender 重新创建已删除的文件

我在我正在从事的项目中使用 Log4j 作为日志记录框架。我有以下情况:Log4j 配置为将日志写入日志文件。在某些时候,该日志文件会被复制到另一个目标并被删除。日志框架继续工作,但日志未写入日志文件,因为它已被删除。有没有办法告诉 Log4j 重新创建文件并继续将日志写入日志文件。

最好的问候,拉希德

java log4j fileappender

5
推荐指数
1
解决办法
6501
查看次数

主ERROR无法找到记录器配置"测试"的appender"test"

这是我的log4j2 json配置

{
"Configuration": {
    "Appenders": {
      "Console": {
        "PatternLayout": {
      "pattern": "%d{yyyy-MMM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n"
    },
    "name": "Console",
    "target": "SYSTEM_OUT"
  },
  "RollingFile": {
    "name": "general",
    "fileName": "C:/logs/simulator-log.log",
    "filePattern": "C:/logs/simulator-log-%d{yyyy-MM-dd HH-mm-ss}.log",
    "PatternLayout": {
      "pattern": "%msg%n"

    },
    "Policies": {

      "OnStartupTriggeringPolicy": {
      }
    }
  },
  "File": {
    "PatternLayout": {
      "pattern":"%msg%n"
    },
    "name": "test",
    "fileName": "c:/logs/requests_received.log"
  },
  "File": {
    "PatternLayout": {
      "pattern":"%msg%n"
    },
    "name": "test1",
    "fileName": "c:/logs/response_sent.log"
  }
  },
  "Loggers": {
    "Root": {
      "AppenderRef": [
        {
          "ref": "Console"
        } …
Run Code Online (Sandbox Code Playgroud)

java logging json fileappender log4j2

5
推荐指数
1
解决办法
2756
查看次数

log4net fileappender未在Outlook ThisAddIn.cs中创建log-file.txt

我看不出这里有什么问题.我只想用我的Outlook AddIn将log4net写入日志文件.我的app.config文件中有以下内容:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
     <configSections>
          <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
     </configSections>
<log4net>
     <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
         <param name="File" value="log-file.txt" />
         <param name="AppendToFile" value="true" />
         <rollingStyle value="Size" />
         <maxSizeRollBackups value="10" />
         <maximumFileSize value="10MB" />
         <staticLogFileName value="true" />
         <layout type="log4net.Layout.PatternLayout">
              <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />
         </layout>
     </appender>
     <root>
          <level value="DEBUG" />
          <appender-ref ref="LogFileAppender" />
     </root>
</log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)

以下是我的启动类中的相关语句,ThisAddIn.cs(注释显示我尝试过的变体):

//protected static readonly ILog log = LogManager.GetLogger("application-log");
public static readonly ILog log = LogManager.GetLogger(typeof(ThisAddIn));
private void ThisAddIn_Startup(object sender, System.EventArgs …
Run Code Online (Sandbox Code Playgroud)

c# log4net rollingfileappender outlook-addin fileappender

4
推荐指数
1
解决办法
9143
查看次数

“手动”滚动 log4net RollingFileAppender 日志文件?

我希望能够调用像“ResetLog”这样的方法,将我的“log.txt”复制到“log.txt.1”,然后清除log.txt,而不是在日期/时间或指定的最大大小之后滚动日志。

我尝试通过使用 FileAppender 而不是 RollingFileAppender 执行类似的操作来实现这一点:

var appenders = log4net.LogManager.GetRepository().GetAppenders();
foreach (var appender in appenders) {
    var fa = appender as log4net.Appender.FileAppender;
    if (fa != null) {
        string logfile = fa.File;
        fa.Close();
        string new_file_path = CreateNextLogFile(logfile);
        fa.File = new_file_path;
        fa.ActivateOptions();
    }
}            
Run Code Online (Sandbox Code Playgroud)

文件被关闭,并且 CreateNextLogFile() 对其进行重命名。然后,我创建一个新的日志文件并设置 FileAppender 来使用它。但是,我认为 ActivateOptions 会继续并使用所需的设置重新配置 FileAppender。我查看了 log4net 文档,没有看到任何其他公共方法允许我在关闭 FileAppender 后重新打开它。谁能推荐一种实现滚动的方法?如果 RollingFileAppender 有这样的东西那就太好了,但我也没有在它的文档中看到任何有用的东西。

log4net rollingfileappender fileappender

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