Photon Server游戏服务器从零开始学习(二) Log日志文件配置与输出

来源:互联网 发布:手机淘宝如何购物 编辑:程序博客网 时间:2024/05/29 05:13

在上一章我们学习有关Photon Server的配置,这章我们开始学习Log日志文件配置与输出

一、Log日志的打开

在Photon中点击Open Logs选项,打开BareTail软件,相当于一个记事本,用于Log日志的输出。

打开以后的界面

这里写图片描述

二、Log日志的输出

1.引用log4net.dll 和ExitGames.Logging.Log4Net.dll,位于lib文件夹下。

这里写图片描述

2.添加配置文件,由于有固定的格式,因此我们在src-server\Mmo\Photon.MmoDemo.Server文件夹下复制一份log4net.config文件放在我们项目的根目录下,修改属性为始终复制。

这里写图片描述

配置文件路径 Photon:ApplicationLogPath,修改为自己的程序名MyGame。

<file type="log4net.Util.PatternString" value="%property{Photon:ApplicationLogPath}\\MyGame.Server.log" />

3.在主类MyGameServer中添加一个静态只读字段log并初始化

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Photon.SocketServer;using ExitGames.Logging;using ExitGames.Logging.Log4Net;using System.IO;using log4net.Config;namespace MyGamePhotonServer{    //所有的server端 主类都要集成自applicationbase    public class MyGameServer:ApplicationBase    {        public static readonly ILogger log = LogManager.GetCurrentClassLogger();         /// <summary>        /// 刚一个客户端请求连接的         /// </summary>        /// <param name="initRequest"></param>        /// <returns></returns>        protected override PeerBase CreatePeer(InitRequest initRequest)        {            log.Info("一个客户端连接过来了。。。。");            return new MyClientPeer(initRequest);        }        /// <summary>        /// 初始化        /// </summary>        protected override void Setup()        {            // 日志的初始化            log4net.GlobalContext.Properties["Photon:ApplicationLogPath"] = Path.Combine(                                                                    Path.Combine(this.ApplicationRootPath, "bin_Win64"), "log");            FileInfo configFileInfo = new FileInfo( Path.Combine( this.BinaryPath ,"log4net.config"));            if (configFileInfo.Exists)            {                LogManager.SetLoggerFactory(Log4NetLoggerFactory.Instance);//让photon知道使用的是Log4NetLog插件                XmlConfigurator.ConfigureAndWatch(configFileInfo);//让log4net这个插件读取配置文件            }            log.Info("初始化完成!");        }        /// <summary>        /// server端关闭的时候        /// </summary>        protected override void TearDown()        {            log.Info("服务器应用关闭了");        }    }}

运行后的日志输出结果

这里写图片描述

阅读全文
0 0
原创粉丝点击