#region Apache License // // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to you under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // #endregion namespace ConsoleApp { using System; using log4net; /// /// Example of how to simply configure and use log4net in a .NET Compact Framework /// application. /// /// /// /// The .NET Compact Framework does not support retrieving assembly-level /// attributes, therefor log4net must be configured by code. /// /// /// The .NET Compact Framework does not support hooking up the AppDomain.ProcessExit /// and AppDomain.DomainUnload events, so log4net must be shutdown manually to /// free all resources. /// /// public class EntryPoint { /// /// Application entry point. /// public static void Main() { // Uncomment the next line to enable log4net internal debugging // log4net.helpers.LogLog.InternalDebugging = true; // This will instruct log4net to look for a configuration file // called ConsoleApp.exe.config in the application base // directory (i.e. the directory containing ConsoleApp.exe) log4net.Config.XmlConfigurator.Configure(); // Create a logger ILog log = LogManager.GetLogger(typeof(EntryPoint)); // Log an info level message if (log.IsInfoEnabled) log.Info("Application [ConsoleApp] Start"); // Invoke static LogEvents method on LoggingExample class LoggingExample.LogEvents(); Console.Write("Press Enter to exit..."); Console.ReadLine(); if (log.IsInfoEnabled) log.Info("Application [ConsoleApp] Stop"); // It's not possible to use shutdown hooks in the .NET Compact Framework, // so you have manually shutdown log4net to free all resoures. LogManager.Shutdown(); } } }