Search code examples
.net-corenlog.net-5mysql-connectorpomelo-entityframeworkcore-mysql

Using NLog to log to MySql database using Pomelo provider in an ASP .Net Core 5 Web API


I have an ASP .Net Core Web API using NLog, and I am trying to configure it to log to a MySQL database. I am using Pomelo in my app to talk to MySql.

In the nlog.config file, I have:

    <target name="db"
        xsi:type="Database"
        dbProvider="Pomelo.EntityFrameworkCore.MySql, Pomelo.EntityFrameworkCore"
        connectionString="blah blah blah"
        commandType="StoredProcedure"
        commandText="`InsertLog`"
    >
        <parameter name="machineName"    layout="${machinename}" />
        <parameter name="logged"         layout="${date}" />
        <parameter name="logLevel"       layout="${level}" />
        <parameter name="message"        layout="${message}" />
        <parameter name="logger"         layout="${logger}" />
        <parameter name="properties"     layout="${all-event-properties:separator=|}" />
        <parameter name="callsite"       layout="${callsite:fileName:true}" />
        <parameter name="exception"      layout="${exception:tostring}" />
        <parameter name="callsiteLineNumber"      layout="${callsite-linenumber}" />
        <parameter name="stackTrace"      layout="${stacktrace}" />
    </target>

However, it's giving an error "Could not load file or assembly 'Pomelo.EntityFrameworkCore"

Do I have the wrong dbProvider? Does Nlog not work with Pomelo?


Solution

  • I followed lauxjpn's comment, and it worked. Thanks lauxjpn!