Слияние кода завершено, страница обновится автоматически
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 )