You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XAMPP(含MariaDB)环境下NLog日志写入数据库失败求助

NLog 写入 XAMPP 搭载 MariaDB 的问题排查与已验证方案

这个配置是完全可以实现的,我和不少开发者都成功用NLog把日志写入XAMPP自带的MariaDB里。你目前的问题大概率是配置遗漏或细节没到位,以下是具体的排查和修正点:

  • 补全数据库目标的完整配置
    你给出的<target>配置缺少核心的SQL写入逻辑,NLog不知道要把日志数据插入到哪个表的哪些字段中。需要补充<commandText>和参数映射,示例配置如下:

    <target name="database" xsi:type="Database"
        dbProvider="MySql.Data.MySqlClient.MySqlConnection, MySql.Data"
        connectionString="server=127.0.0.1;Database=test;userid=root;password=*****">
        <commandText>
            INSERT INTO logs (LogLevel, Message, CreatedTime, LoggerName)
            VALUES (@level, @message, @date, @logger)
        </commandText>
        <parameter name="@level" layout="${level}" />
        <parameter name="@message" layout="${message}" />
        <parameter name="@date" layout="${date:format=yyyy-MM-dd HH:mm:ss}" />
        <parameter name="@logger" layout="${logger}" />
    </target>
    

    同时要确保test数据库中已创建对应的logs表,表结构需和SQL语句匹配,示例建表语句:

    CREATE TABLE logs (
        Id INT AUTO_INCREMENT PRIMARY KEY,
        LogLevel VARCHAR(50) NOT NULL,
        Message TEXT NOT NULL,
        CreatedTime DATETIME NOT NULL,
        LoggerName VARCHAR(255) NOT NULL
    );
    
  • 验证驱动兼容性
    旧版MySql.Data驱动和XAMPP中的MariaDB可能存在兼容性问题,建议改用MySqlConnector驱动(通过NuGet安装),对应的dbProvider改为MySqlConnector.MySqlConnection, MySqlConnector,这个驱动对MariaDB的支持更友好。

  • 开启NLog内部日志定位问题
    既然没有错误提示,开启NLog内部日志可以帮你找到底层问题。在NLog配置的<nlog>节点中添加:

    <nlog internalLogFile="nlog-internal.log" internalLogLevel="Debug">
        <!-- 你的目标和规则配置 -->
    </nlog>
    

    运行程序后查看生成的nlog-internal.log,里面会详细记录数据库连接、SQL执行的错误信息,比如表不存在、字段不匹配、权限不足等。

  • 确认日志记录器调用匹配
    确保代码中使用的日志记录器名称是app_logger,示例代码:

    private static readonly Logger Logger = LogManager.GetLogger("app_logger");
    Logger.Info("测试数据库日志写入");
    

    如果记录器名称和规则中的name不匹配,NLog不会触发数据库写入操作。

  • 检查数据库连接权限与地址
    XAMPP中的MariaDB可能对localhost和127.0.0.1的权限设置有差异,可以尝试把连接字符串中的server改为localhost;同时确认root用户拥有对test数据库的插入权限。

内容的提问来源于stack exchange,提问作者DonCorleone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 13:44:58