LP1308
LP1308

Reputation: 49

Add new appender to log4net file

I'm currently trying to add a Microsoft Teams appender to my project.
I have the following project structure:
project structure
I want to add the appender in my log4net.development.config, so I tried it in this way here: log4.development.config file:

<log4net debug="true">
    <root>
        <level value="WARN" />
        <appender-ref ref="AdoNetAppender" />
        <appender-ref ref="teams" />
    </root>
    <logger name="ErpLogger" additivity="false">
        <level value="INFO"/>
        <appender-ref ref="AdoNetAppender"/>
    </logger>
    <logger name="ChangeHistoryLogger" additivity="false">
        <level value="INFO"/>
        <appender-ref ref="AdoNetAppender"/>
    </logger>
    <appender name="ConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
        ...
    </appender>
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
        ...
    </appender>
    <appender name="console" type="log4net.Appender.ConsoleAppender">
        ...
    </appender>
    <appender name="file" type="log4net.Appender.RollingFileAppender">
        ...
    </appender>
    <appender name="teams" type="log4net.MicrosoftTeams.MicrosoftTeamsAppender, log4net.MicrosoftTeams">
        <WebhookUrl value="https://tecalliance.webhook.office.com/webhookb2/a8277821-7bff-4750-a3f7-b087370ca527@91262959-85ec-4b1c-b7d3-7c3aac19c595/IncomingWebhook/dc97de2cc86a43f99e6c5407cfa2062f/1ac4dbd6-de16-4fe5-aa26-9925c6fe9d4c" />
        <titleLayout>
            <conversionPattern value="Title - %p: %date [%c]" />
        </titleLayout>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%-5level %logger - %message" />
        </layout>
    </appender>
</log4net>

AssemblyInfo.cs file: I added this line:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.development.config")]

Startup.cs:

        private static readonly ILog Log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

        public Startup(IConfiguration configuration, IHostingEnvironment env)
        {
            Configuration = configuration;
            HostingEnvironment = env;
            Log.Warn("TestLog");
            Console.ReadLine();
        }

But I'm always getting this error here: System.IO.FileNotFoundException: The file or assembly "log4net.Microsoft Teams" or a dependency of it was not found. The system cannot find the specified file. File name: log4net.MicrosoftTeams
What can I do?

Upvotes: 0

Views: 238

Answers (1)

jkvato
jkvato

Reputation: 11

Make sure you install both of the following NuGet packages:

  • log4net
  • log4net.MicrosoftTeams

Upvotes: 1

Related Questions