博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[小明带你玩儿Photon]4.一起来看日志
阅读量:5107 次
发布时间:2019-06-13

本文共 2286 字,大约阅读时间需要 7 分钟。

一,写在前面

前面几个系列的的博客基本上把Photon的基础功能介绍的差不多了,然后在开发客户端的时候,我们发现客户端连接到服务端后的行为和预想的不一致,那么这个时候该如何确定服务端是否运行的和预期一样呢,这个时候,日志就出场了.

二,Pohton日志模块的介绍.

1.日志框架

Photon使用了log4net作为日志框架,关于它的文档:

2.日志文件和位置

日志文件有三种类型:

①.非托管的Photon Socket Server 日志:

内容:由非托管的PhotonSocketServer.exe核心来往里写.Photon的开启/关闭的产生的全部状态信息全都记在这里,还有本地core的异常(像:Photon自己的bug,无效客户端数据导致的序列化错误等).

名字:Photon-(实例名称)-Timestamp.log

位置:/bin_WinXXX/log

日志级别配置:n/a

改变日志文件的位置:设置"LogFileLocation"属性在PhotonServer.config中的每一个实例."LogFileLocation"可以是绝对路径或者是PhotonSocketServer.exe的相对路径.

例子:

②.托管的CLR日志

内容:由托管运行你程序的.NET来写,所有来自CLR的信息被记载在此(例如:加载信息,.NET程序和装配),还有所有用户.net程序中未处理的异常.

名字:PhotonCLR.log

位置:/bin_WinXXX/Photon.local.log4net.

日志等级配置:配置合适的log4net输出器在/deploy/bin_WinXXX/Photon.local.log4net.

改变日志文件位置:配置合适的log4net输出器在/deploy/bin_WinXXX/Photon.local.log4net.-可以使用"Photon:UnmanagedLogDirectory"属性,包含了"LogFileLocation"属性来自PhotonServer.config.

例子:

③.程序日志

内容:每一个被Photon运行的.Net程序可以写它自己的程序日志文件.包含所有的调试输出.

名字:{MyApplication}.log

位置:/deploy/log

改变日志文件位置:配置合适的log4netappender在 /deploy/{MyApplication}/bin/log4net.config中.可以使用"Photon:ApplicationbLogPath"属性,它被默认设置到/deploy/log,可以在SetUp()方法中自己更改.如下:

protected override void Setup()        {            // log4net            log4net.GlobalContext.Properties["Photon:ApplicationLogPath"] = Path.Combine(this.ApplicationRootPath, "log");            var configFileInfo = new FileInfo(Path.Combine(this.BinaryPath, "log4net.config"));            if (configFileInfo.Exists)            {                LogManager.SetLoggerFactory(Log4NetLoggerFactory.Instance);                XmlConfigurator.ConfigureAndWatch(configFileInfo);            }        }

日志等级配置::配置合适的log4net输出器在 /deploy/{MyApplication}/bin/log4net.config.

三.常见问题

1.怎么才能日志输出每次客户端的连接和断开?

首先,把下面内容添加到你应用的log4net.config:

代码:

来自{MyApplication}.log:Successful connect:

输出:

2013-05-02 11:19:02,506 [23] DEBUG Photon.SocketServer.ApplicationBase [(null)] - OnInit - ConnID=17, IP 127.0.0.1 on port 45302013-05-02 11:19:02,506 [23] DEBUG Photon.SocketServer.ApplicationBase [(null)] - OnInit - response sent to ConnId 17 with SendResult Ok

断开连接:

2013-05-02 11:19:07,608 [24] DEBUG Photon.SocketServer.ApplicationBase [(null)] - OnDisconnect - ConnID=17

 

转载于:https://www.cnblogs.com/WongSiuming/p/4953341.html

你可能感兴趣的文章
《绿色·精简·性感·迷你版》易语言,小到不可想象
查看>>
Android打包key密码丢失找回
查看>>
VC6.0调试技巧(一)(转)
查看>>
类库与框架,强类型与弱类型的闲聊
查看>>
webView添加头视图
查看>>
php match_model的简单使用
查看>>
在NT中直接访问物理内存
查看>>
Intel HEX 文件格式
查看>>
SIP服务器性能测试工具SIPp使用指导(转)
查看>>
php_扑克类
查看>>
回调没用,加上iframe提交表单
查看>>
(安卓)一般安卓开始界面 Loding 跳转 实例 ---亲测!
查看>>
Mysql 索引优化 - 1
查看>>
LeetCode(3) || Median of Two Sorted Arrays
查看>>
大话文本检测经典模型:EAST
查看>>
待整理
查看>>
一次动态sql查询订单数据的设计
查看>>
C# 类(10) 抽象类.
查看>>
Nginx+Keepalived 实现双击热备及负载均衡
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>