问题标签 [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 投票
2 回答
5446 浏览

log4net - Change name of logfile a few times during runtime

Is it possible to change the name of a logfile for a fileappender while the application is running? It will be done a few times / day.

I'll try to elaborate myself a bit more: my app writes firmware on a device. All the devices the user already worked on, are in a grid. The user can start a new writing-wizard or can resume or restart the action on an already started device. What I would like to do is keep a log of all the steps performed by the user for a certain device.

For example: when the user works on device AB0124, I want to write to a logfile called AB0124.log. When he ends working on that device and starts on device XY5618 I want to log those actions in XY5618.log

I've read that it's possible to use a context-property (here and here and a lot of other posts), but you have to set the property before creating the logger. So, instead of creating a logger in the class, I create one in my method after setting the property. But so far, nothing gets logged.

When I set the filename hardcoded in the config, it's working. Am I missing somehting here?

Log4Net.config:

C#:

And in the AssemblyInfo.cs:

0 投票
2 回答
4349 浏览

c# - log4net 滚动文件附加程序(按日期)覆盖现有文件

我目前有一个 log4net 滚动文件附加程序,基于每天应该滚动的日期。它已经这样做了几个月没有问题 - 但在上周它已经开始在一天中的某个时间覆盖现有日志。当日志文件达到 10mb 左右时,它似乎正在这样做。

这是配置:

我的理论是没有指定滚动样式,也没有指定最大大小,每个的默认设置是 Composite 和 10mb。因此,当它达到 10mb 时,它开始翻转,并且由于静态日志文件名设置为 false,它只是重写当前文件。

是这样吗?或者这里还有其他问题在起作用吗?我已经添加

现在,看看情况如何。但是能解释为什么会发生这种情况会很棒。

谢谢!

0 投票
1 回答
704 浏览

log4net - Log4Net 在错误的文件夹中创建文件

以下是 log4net 的配置文件中编写的 appender

这里的问题是,在本地和 QA 环境中,log4net 将日志文件写入正确的文件夹(每天创建新文件夹),但在生产环境中,它将日志文件写入错误的文件夹中

在第 20130706 天 (YYYYMMDD) 的文件夹中,写入 logs_20130706.log 和 logs_20130707.log 文件。在文件夹 20130707 中,我们可以看到文件 logs_20130707.log 和 logs_20130708.log。

我无法准确地解决我们做错的地方。如果有人能在这方面帮助我,那就太好了。

0 投票
1 回答
286 浏览

.net - 诊断磁盘 I/O 瓶颈?

我在具有 6 个 Xeon 内核的 VDI 中运行的 Windows 2008 服务器 R2 上安装了 .NET 服务。在此问题发生期间,此服务的 CPU 利用率平均约为 10-20%,尽管间歇性地发生 DB 超时。

我的应用程序确实是盒子上唯一的东西,CPU 使用率让我相信以下不是 CPU 瓶颈或时间/切片问题。

我们使用 log4net 进行日志记录

我有以下代码,删除了实际长时间运行的部分

通常我会收到以下日志条目

但今天我得到了以下

在查看时间戳时,两个日志条目的写入间隔为 1888 毫秒,比正常执行的整个持续时间长。

  1. 如何衡量这是否实际上是由磁盘 I/O 瓶颈引起的?
  2. 还有什么可以解释通常我得到 0 的日志条目之间花费的 1888 毫秒?

我正在考虑实施此解决方案以帮助消除 I/O 作为可能的原因。

0 投票
2 回答
1941 浏览

log4net - log4net adonetAppender 不会将空值插入数据库

我正在尝试使用 Log4Net 将异常记录到数据库中。我正在使用 adonetappender,它确实有效,但不是最佳的。

如果我像这样配置异常参数...

它可以工作,但在没有异常时插入 "" 而不是 null。

如果我有这样的结果,我会得到相同的结果......

但如果我有这样的

它只插入空值...

问题可能来自我们有一个总是调用的静态日志记录包装器

e当我在记录器上调用调试方法时,有没有办法让它插入空值(如果为空)?

关于布局的 log4net 文档并不是很有帮助,我从AdoNetAppender 参数的默认值中获得了最后一个配置

0 投票
2 回答
3281 浏览

log4net - LOG4NET 无法创建 Appender

我最近将应用程序迁移到了新服务器(Windows 2008 Server R2、SQL Server 2008 R2、Poweshell),一切正常,但在尝试登录数据库时出现错误。

我尝试将缓冲区大小减小到 1 并检查了连接字符串,但似乎并非如此,

任何帮助或建议将不胜感激。我试过用谷歌搜索答案,但没有找到任何东西。

0 投票
1 回答
2549 浏览

log4net - 为什么 log4net 在使用 RollingFileAppender 时会创建两个单独的日志文件?

我正在尝试让 log4net RollingFileAdapter 工作,以便我的日志文件按日期滚动。但是我发现即使我复制示例代码,我也没有得到我期望的行为。它不是获取今天的日期和时间的单个文件,而是在两个不同的文件之间拆分日志消息。一个文件仅称为“log”,第二个文件遵循配置,将称为“log20130830-1115.txt”。

如果我<log4net debug="true">在我的配置文件中使用,我会在 Trace 输出中看到以下内容:

注意第二行......为什么它首先创建一个名为“log”的文件?为什么它似乎没有采取它所说的行动?'log' 中的条目总是在正确命名的文件中的任何条目之后加上时间戳,即使该文件首先出现。

这里发生了什么事?我搞砸了配置还是 log4net RollingFileAppender 中存在错误?

这是我的配置:

0 投票
1 回答
136 浏览

visual-studio-2010 - 无法在 Log4Net 1.2.11 示例网络 2.0 中构建示例 WmiAppender

我从 Apache 镜像站点下载了 Log4Net 1.2.11 源文件。解压后,我能够构建主要的 Log4Net 项目。

当我尝试为 .net 2.0 构建示例代码时,由于对方法的错误调用调用而失败。

错误如下所示:

这是有道理的,因为 log4net 程序集中的可用原型如下所示:

出于类似的原因,我在相同的方法中遇到了一个额外的错误。

我的问题是任何人如何构建此代码?

我一定错过了什么,因为我没有看到其他人问这个问题。

0 投票
1 回答
418 浏览

c# - mono log4net FileAppender 不会写我的消息

我将我们的 mvc 4 项目之一移植到单声道。一切正常,但 log4net 没有将我的消息写入文件。

例如;

我的转换模式是;

log4net 不写消息部分。

0 投票
2 回答
1910 浏览

log4net - log4net - BufferingForwardingAppender - 超时刷新

BufferingForwardingAppender我在某些时候有大量的日志消息,所以出于性能原因我不得不放。但是,除了这种爆发(比如说,每天发生一次)之外,在一天的剩余时间里,我会收到少量的日志消息。问题是缓冲区大小设置为 50,这对于突发周期来说是可以的,但对于没有突发的周期来说,这太过分了。在此期间,可能需要一两个多小时才能刷新日志,这在本系统中是不可接受的。

BufferingForwardingAppender如果缓冲区中没有足够的消息来触发通常的过程,是否有某种方法可以在特定的时间间隔(例如每 10 分钟)内进行刷新?