參考
1.247365 web 系統(tǒng)建設(shè)<一>——nginx+iis實(shí)現(xiàn)負(fù)載均衡
2.Exceptionless搭配log4net記錄日志
3.Exceptionless 本地部署
4.Exceptionless 本地部署 官方文檔
源代碼:https://git.oschina.net/zhaord/DispersedDemo.git
介紹
通過參考1,可以搭建基本的web負(fù)載均衡,在結(jié)尾也提出了幾個(gè)可能的問題,這篇文章,主要是針對(duì)其中的一個(gè)問題:日志,而給出的解決方案
部署 exceptionless 本地服務(wù)
官方的exceptionless 是有存儲(chǔ)限制的,所以,最后將 exceptionless 部署到本地,具體部署教程可以看 參考3、參考4
配置 exceptionless log4net
打開web.config文件,修改后的內(nèi)容如下
<section name="exceptionless"
type="Exceptionless.Log4net.ExceptionlessAppender,Exceptionless.Log4net" />
打開log4net.config文件,配置后的內(nèi)容如下
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" >
<file value="App_Data/Logs/Logs.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10000KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" />
</layout>
</appender>
<!--使用 exceptionless-->
<appender name="exceptionless" type="Exceptionless.Log4net.ExceptionlessAppender,Exceptionless.Log4net" />
<root>
<appender-ref ref="RollingFileAppender" />
<!-- 添加 exceptionless-->
<appender-ref ref="exceptionless"/>
<level value="DEBUG" />
</root>
<logger name="NHibernate">
<level value="WARN" />
</logger>
</log4net>
使用 exceptionless
在方法 Application_Start
中添加初始化exceptionless的代碼
protected override void Application_Start(object sender, EventArgs e)
{
AbpBootstrapper.IocManager.IocContainer.AddFacility<LoggingFacility>(
f => f.UseAbpLog4Net().WithConfig("log4net.config")
);
ExceptionlessClient.Default.Configuration.ApiKey="API_KEY";
ExceptionlessClient.Default.Configuration.ServerUrl = "http://localhost:8004/";
base.Application_Start(sender, e);
}
注意 ServerUrl 的屬性,最后一個(gè)的 '/' 一定要有,否則會(huì)發(fā)送不到采集系統(tǒng)
運(yùn)行結(jié)果
首先部署參考1程序到三個(gè)站點(diǎn),然后分布啟動(dòng)站點(diǎn),運(yùn)行nginx,并訪問 http://127.0.0.1:10080/account/login.
通過在瀏覽器訪問 exceptionless ,發(fā)現(xiàn)以下內(nèi)容
通過日志,我們可以清楚的看到,訪問網(wǎng)站的請(qǐng)求,是被均衡到三個(gè)站點(diǎn)上的,并且也實(shí)現(xiàn)了三個(gè)站點(diǎn)的日志收集,通過exceptionless,可以實(shí)現(xiàn)分布式系統(tǒng)的日志收集。
總結(jié)
通過學(xué)習(xí)和使用 exceptionless,我們可以搭建 分布式系統(tǒng)的日志采集,進(jìn)而統(tǒng)一分布部署的日志內(nèi)容,可以幫助我們分析日志和查看日志內(nèi)容。
QQ:1260825783
如有任何關(guān)于本文章的問題,都可以通過此QQ聯(lián)系我!
我的公眾號(hào)
``