问题标签 [log4net-appender]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
385 浏览

log4net-appender - 用于 Web 服务的 Log4Net

Log4Net 对于 Web 应用程序是安全的,因为我知道 log4net 是线程安全的,但它不是进程安全的。在这种情况下,我们不能使用单个文件来写入日志。还有其他解决方案吗?

0 投票
1 回答
295 浏览

log4net - 配置 log4net 以生成滚动日志文件,滚动编号由下划线分隔

我正在使用 RollingFileAppender 在我的应用程序中生成日志文件。生成的文件名是MyApp.log, MyApp.1.log, MyApp.2.log... 等等。

我希望他们喜欢MyApp_1.log, MyApp_2.log, MyApp_3.log... 等等。
我们怎样才能做到这一点?

我的 log4net appender 配置看起来像 -

0 投票
1 回答
1621 浏览

log4net - log4net - 使用多种配置进行配置

我使用 Log4Net 作为我的日志工具,当测试系统只有一个数据库时,一切都很好。

但是我的真实系统有不止一个数据库。不同的用户可能有不同的数据库。我想根据当前登录的用户将日志信息放入不同的数据库中。

但据我所知。Log4Net 似乎不支持这个主题。似乎 log4Net 在生命周期中只配置了“一次”。

我是否可以根据我的信息即时进行 log4net 选择数据库配置。

0 投票
2 回答
3490 浏览

c# - log4net 日志中的页眉和页脚增加了两倍

以下是 app.config 中的 log4net 部分

问题 1:每当我的应用程序启动时,我都会额外获得两次页眉和页脚,但我需要避免它。

[日志开始]
[日志结束]
[日志开始]
[日志结束]
[日志开始]
2012-11-08 12:25:03,376 [用户名] - 应用程序启动
[日志结束]

问题 2:我没有得到两个空页眉页脚对来自哪里。

  1. 我正在创建如下记录器:
  1. 要使用记录器:
  1. 我在 AssemblyInfo.cs 中为 log4net 明确添加了这一行

问题:想解决粗体字的问题

0 投票
2 回答
8328 浏览

powershell - 试图让 log4net 与 PowerShell 一起工作(混合使用 log4net 配置文件)

我一直在努力让 log4net 与 PowerShell 一起工作。我有以下 PowerShell 代码,该代码使用配置文件引入 log4net,然后尝试创建一个简单的日志文件条目,但出现错误。

上面引用的 psm_logger.psm1 文件包含:

log4net 的配置文件如下所示:

运行时产生的输出和错误是:

BEGIN:导入模块 psm_logger.psm1 BEGIN:log4net 配置定义 END:log4net 配置定义 BEGIN:log4net 配置 DEBUG 定义 END:log4net DEBUG 配置定义 BEGIN:模块/管理单元导入/添加

方法调用失败,因为 [System.Object[]] 不包含名为“Info”的方法。在 C:\Users\Administrator\Desktop\ps\IIS\IIS_localLogs.ps1:18 char:10 + $log.Info <<<< ("BEGIN: Module/Snapin import/addition") + CategoryInfo : InvalidOperation: (Info :String) [], RuntimeException + FullyQualifiedErrorId : MethodNotFound

任何帮助将不胜感激!

(仅供参考:我最初是从最佳实践博客条目中获得此代码的:http: //blog.octo.com/en/powershell-v2-my-best-practices/ ,我发现这很有帮助)

0 投票
1 回答
1229 浏览

log4net - 无法将来自多个实例的数据记录到单独的日志文件中

在我通常的日志记录经验中,我只是ILog使用类似的东西在每个类中创建一个实例mylog = LogManager.GetLogger( name),这为每个实例提供了一个唯一的 Logger。一切都记录到同一个文件中并且效果很好。

但是,现在我遇到了一种情况,我想登录到两个单独的文件。我使用以下 logging.xml 完成此操作:

在后面的代码中,我FileAppender通过给它一个唯一的名称来设置每个实例的名称:

log4net.GlobalContext.Properties["LogName"] = unique_path_here;

如果我实例化一个名为“test1”的对象,则会创建“test1.log”文件。当我实例化另一个名为“test2”的对象时,会创建“test2.log”文件。一切似乎都很好,直到我开始调用每个对象中的方法。当我交替调用时,一个对象的数据首先被写入另一个对象的文件,但随后数据被记录到正确的文件中。例如,这是一个简单的例子:

  1. test1.log() -> 写入 test1.log
  2. test2.log() -> 写入 test2.log
  3. test1.log() -> 写一行到 test2.log,然后剩下的写到 test1.log
  4. test2.log() -> 将 lint 写入 test1.log,然后将其余部分写入 test2.log

如果我并行运行这两种方法,所有行都会写入一个文件或另一个文件。那么真正奇怪的是,另一个最常用的文件再也没有被写入!

我不知道下一步该往哪里看。如果我通过 GetLogger 创建了一个 Logger 实例并为其传递了一个唯一名称,并且这是一个私有成员变量,它怎么可能开始写入错误的文件?

0 投票
1 回答
431 浏览

c# - SMTPAppender 使用虚拟帐户发送电子邮件

我正在使用 SMTPAppender 为我的应用程序中的错误发送电子邮件。如果我指定主机设置以及我的帐户用户名和密码,我就可以做到这一点。这是我的配置文件的样子:

在此处输入图像描述

是否可以在此处使用匿名邮件帐户或以某种方式不使用用户名/密码。我不想将我的用户名/密码暴露给最终用户。我见过有人使用虚拟帐户,应用程序使用提供的帐户名称发送电子邮件。我只是不记得该怎么做。

有人可以帮我吗?

感谢期待。莫妮卡

0 投票
7 回答
20020 浏览

c# - 通过 Xml 文件配置 log4net TextBoxAppender(自定义附加程序)

这是我的问题的后续:灵活的日志记录界面......

我现在想为我的 WinForms 2.0 应用程序为多行文本框编写一个自定义 log4net 附加程序。StackOverflow 成员之一 devdigital 已经向我指出了这个链接:

文本框附加器

但是,本文没有描述如何通过 Xml 文件配置这样的 appender。配置这个 appender 的唯一问题是我们需要将一个 TextBox 对象的引用传递给这个 appender。

那么是否可以使用 XML 文件对其进行配置?还是只能以编程方式配置此类附加程序?有哪些选项可以使其尽可能可配置或松散耦合,可能是使用 Xml 文件和代码的组合?

谢谢。

0 投票
3 回答
12819 浏览

c# - 如何使 Log4Net 发送一封电子邮件,并将 From 值设置为当前用户的电子邮件地址

Log4Net 配置示例网页上,它显示了有关如何设置 SmtpAppender 的示例。

因此,我将以下设置添加到我的 app.config 文件中,并在记录警告或更高级别时成功发送电子邮件(这很好)。

但是From值是用我的电子邮件地址硬编码的。

我的应用程序是一个 WinForms 应用程序,它将被部署到用户的 PC 上,因此知道哪个用户遇到了警告/错误会非常方便。

是否可以设置 Log4Net SmtpAppender 以便 From 值使用当前用户的电子邮件地址?

感谢您的帮助。

0 投票
1 回答
3081 浏览

log4net - Log4Net:文件句柄什么时候获取和释放?

我是 Log4Net 新手,并试图对其工作原理有一个基本/安全的了解。如果我将我的 Logger 配置为 FileAppender,并且我有多个如下所示的语句,一个接一个:

每次调用是否实际打开文件、写入字符串并关闭它?每次?或者还有其他事情发生吗?我想知道文件资源何时被使用。它是如何工作的?