问题标签 [log4net]

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 投票
13 回答
80100 浏览

file - 外部文件中的 Log4Net 配置不起作用

我们正在使用 log4net 并希望在外部配置文件中指定它的配置(就像我们对其他部分所做的那样)。为此,我们将 App.config 中的 log4net 部分更改为:

在 Log.Config 文件(与 App.config 相同的目录)中,我们有:

但是,当我们运行应用程序时,不会创建任何日志文件(也没有完成日志记录)。没有错误消息输出到控制台。

如果我们将 Log.config 文件的内容移回 App.config(替换上面的第一行代码),它会按预期工作。知道为什么它不能在外部文件中工作吗?

0 投票
6 回答
34374 浏览

logging - 如何为 log4net 指定通用应用程序数据文件夹?

我希望 log4net 将日志文件(使用 RollingFileAppender)写入公共应用程序数据文件夹的子文件夹(例如 C:\Documents and Settings\All Users\Application Data\Company\Product\Logs)。
但是,在 Win XP 上,没有指定此文件夹的环境变量。我们有%ALLUSERSPROFILE%,我们有%APPDATA%,但没有什么像%ALLUSERSAPPDATA%
以编程方式,我可以使用Environment.SpecialFolder.CommonApplicationData,但我需要将它放在 log4net 配置中,如下所示:

好的,我们可以在设置中定义它,但也许有人想出了更好的主意?

0 投票
5 回答
40792 浏览

visual-studio - 如何使用 NHibernate 将 SQL 调用记录到 Visual Studio 的控制台?

我有NHibernate的以下配置文件:

但是 SQL 没有显示在 Visual Studio 的输出窗口中。是否必须安装log4net?还是应该show_sql单独工作?

0 投票
3 回答
1048 浏览

c# - .NET:寻找性能最好的 log4net appender

我们目前正在使用 log4net appender(web.config 片段):

寻找使用其他附加程序的经验。

0 投票
4 回答
33135 浏览

c# - 如何使用 log4net 记录跟踪消息?

我正在使用 log4net 将写入日志消息记录到滚动日志文件中。

现在,我还将所有跟踪消息重定向System.Diagnostics.Trace到该日志文件。我该如何配置?我试图在 log4net 文档中找到有关此的任何内容,但没有成功。有可能吗?

我想这样做的原因是因为我对 3rd 方库的 Trace 消息感兴趣。

0 投票
1 回答
1403 浏览

log4net - log4net 嵌套记录器 .config 示例

我正在努力在多层应用程序中设置 log4net。我已根据需要设置了大部分日志记录,但现在我正试图以<logger>某种方式设置 .config 中的条目,以允许输出级别的最大灵活性。

我的记录器命名约定类似于:
ExecutableName.WorkerThreadName.[ExternalModuleName(s)].ClassName

我当前在 .config 文件中的记录器定义部分如下所示:

希望您能明白这一点……这似乎有可能爆发成一堆难以维护的条目(尤其是当应用程序达到支持阶段时)。
关于如何最好地管理嵌套记录器的级别定义的任何建议?
我已经尝试过实际嵌套 xml 语句,但这似乎不起作用。

0 投票
5 回答
30951 浏览

log4net - 使用 Log4Net 将当前日期附加到日志文件

我要做的就是将当前日期和时间附加到我的日志文件中,例如:

这是我的 app.config 中的当前配置

是否可以将日期附加到我的日志文件中,或者它是我需要在代码中而不是配置中做的事情之一?

0 投票
2 回答
5823 浏览

c# - 在受限用户帐户 XP 下运行时,C# 应用程序无法读取/写入管理员创建的文件

我有一个可供 .NET(特别是 C#)中的所有用户(管理员或受限用户)使用的应用程序。

当应用程序首次启动时 - 它会在 C:\Documents and Settings\All Users\Documents\ 中创建一些文件,供所有后续启动使用。

如果 XP 中的受限用户是第一个启动应用程序的用户,它会正常创建文件,受限用户和管理员都可以正常运行。

但是,如果管理员(或者我猜是不同的受限用户)是第一个启动应用程序的人,那么受限用户将无法运行该应用程序。

如果由管理员创建,它无法读取/写入的两个文件是 Log4Net 日志文件和 SQLite db 文件。

SQLite 数据库文件是用一个 straitforward .NET File.Copy(sourcepath,destinationpath) 创建的。源路径是与应用程序一起安装的种子数据库文件 - 所以首先运行它会从 C:\Program Files\app install\seed.db 复制它

复制文件时有没有办法设置文件的权限?File.SetAccessControl() 也许?我不清楚它是如何工作的。

另一个问题是 log4Net 滚动文件附加程序不会滚动旧文件并创建新文件,因为旧文件是管理员用户在运行应用程序时创建的。

有任何想法吗?具有讽刺意味的是,这一切在 Vista 中使用受限/管理员帐户都可以正常工作 - 这仅在 XP 中使用管理员/受限帐户发生。

0 投票
2 回答
15241 浏览

.net - 如何在 log4net 中过滤自定义级别?

我复制了 log4net 示例以实现自定义日志级别 AUDIT。我将 AUDIT 的值定义为 35000,介于 DEBUG 30000 和 INFO 40000 之间。

以下是我的配置部分。我有一个记录所有级别的附加程序和一个应该只记录 AUDIT 级别的附加程序(这仅用于测试)

测试方法是

但是,附加程序的输出是相同的......

解析 LevelMatchFilter 时的 log4net 调试输出为

0 投票
2 回答
3293 浏览

log4net - 限制来自 smtpappender (log4Net) 的电子邮件

我正在寻找一种方法来限制 SmtpAppender 以限制在定义的时间跨度内多次发生相同错误的情况下发送的电子邮件数量。

我不知道这是否可能,任何帮助将不胜感激