1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hehuolong_admin-OPCReport

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
MQAppender.cs 2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
hehuolong Отправлено 6 лет назад 0a95e5d
using NetMQ.Sockets;
using NetMQ;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using log4net;
using log4net.Appender;
using log4net.Core;
using log4net.Layout;
using System.Configuration;
namespace OUK.ReportDataMonitor
{
public class MQAppender : AppenderSkeleton
{
private static PublisherSocket pubSocket = new PublisherSocket();
private static bool Initilized = false;
public static string ServerModeChannel
{
get { return ConfigurationManager.AppSettings["MqChannel"] ?? "tcp://127.0.0.1:4567"; }
}
public static void Initialize()
{
if (Initilized)
{
throw new InvalidOperationException("MQAppender只能进行一次初始化。");
}
Initilized = true;
var rootLogger = LogManager.GetLogger("root").Logger as log4net.Repository.Hierarchy.Logger;
var appender = new MQAppender();
appender.Name = "mqappender";
var layout = new PatternLayout();
layout.ConversionPattern = "[%date{MM/dd HH:mm:ss}]%message";
appender.Layout = layout;
layout.ActivateOptions();
appender.ActivateOptions();
log4net.Config.BasicConfigurator.Configure(appender);
rootLogger.AddAppender(appender);
var connstr = ServerModeChannel;
Console.WriteLine("正在启动日志服务...");
Console.WriteLine($"监听地址:{connstr}");
pubSocket.Bind(connstr);
pubSocket.Options.SendHighWatermark = 10000;
Console.WriteLine($"日志服务启动成功。");
}
public static void Cleanup()
{
pubSocket?.Dispose();
}
protected override void Append(LoggingEvent loggingEvent)
{
var msg = RenderLoggingEvent(loggingEvent);
pubSocket.SendMoreFrame("Logger").SendFrame(msg);
}
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/hehuolong_admin-OPCReport.git
git@gitlife.ru:oschina-mirror/hehuolong_admin-OPCReport.git
oschina-mirror
hehuolong_admin-OPCReport
hehuolong_admin-OPCReport
master