1.添加引用log4net.dll和ExitGames.Logging.Log4Net.dll

2.在项目中添加一个log4net的config文件,并且在PhotonServer的src下面的MMo下面的Server下面的log4net.config的内容复制给我们项目中刚才添加的。

上图config中的内容是需要更改的

3.并且将复制到输入目录设置为始终复制

4.更改config配置。将value后面那块圈出来的位置,改成自己的deploy中创建的文件夹的名字,我自己的是RRGameServer

把config的配置复制给大家吧

<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="false" update="Overwrite"><appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"><file type="log4net.Util.PatternString" value="%property{Photon:ApplicationLogPath}\\RRGameServer.Server.log" /><appendToFile value="true" /><maximumFileSize value="5000KB" /><maxSizeRollBackups value="2" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%d [%t] %-5p %c - %m%n" /></layout></appender><appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"><layout type="log4net.Layout.PatternLayout"><param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /></layout><filter type="log4net.Filter.LevelRangeFilter"><levelMin value="DEBUG" /><levelMax value="FATAL" /></filter></appender><!-- logger --><root><level value="INFO" /><!--<appender-ref ref="ConsoleAppender" />--><appender-ref ref="RollingFileAppender" /></root><logger name="OperationData"><level value="INFO" /></logger></log4net>

5.在MyGameServer中配置

MyGameServer.cs:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ExitGames.Logging;
using ExitGames.Logging.Log4Net;
using log4net.Config;
using Photon.SocketServer;namespace RRGameServer
{//所有的Server,都要继承ApplicationBase,然后实现ApplicationBase的三个方法public class MyGameServer : ApplicationBase{private static readonly ILogger log = LogManager.GetCurrentClassLogger();//当有一个客户端连接上以后,就会执行此方法protected override PeerBase CreatePeer(InitRequest initRequest){log.Info("一个客户端连接");return new ClientPeer(initRequest);}//服务器初始化函数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知道日志输出XmlConfigurator.ConfigureAndWatch(configFileInfo);//读取配置}log.Info("服务器启动啦");}//服务器关闭函数protected override void TearDown(){log.Info("服务器关闭啦");}}
}

6.重新生成dll文件,并且全部复制

7.启动我们的photonServer,在关闭,然后查看日志

成功配置(●'◡'●)

对了最后附上xmind图,具体流程结合前面几篇一起看哦

PhotonServer中日志的配置相关推荐

  1. mysql配置日志老化配置_mysql中日志的配置与分析

    默认情况下,如果日志没有配置,则只记录错误日志,记录到syslog,配置文件 /etc/mysql/conf.d/mysqld_safe_syslog.cnf (ubuntu下) [mysqld_sa ...

  2. 在Tomcat 与weblogic 中的 日志(log4j) 配置系列三(log文件的存放路径)

    前言 前面一直在说,如何读取到log4j 的配置文件 log4j.properties. 接下来的探讨的是: log4j 里配置产生的log 文件的路径如何设置. tomcat 还好.拿复杂点的 we ...

  3. 在Tomcat 与weblogic 中的 日志(log4j) 配置系列二(weblogic 应用程序使用log4j)

    前言 在Tomcat 与weblogic 中的 日志(log4j) 配置系列一 在系列一 中, 有一个问题一直没有解决,就是部署到weblogic 中应用程序如何通过log4j写日志到文件中? 这里仅 ...

  4. 【日常记录】错误“应用程序无法启动,因为应用程序中的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具”解决办法

    win10安装理正深基坑软件出现该错误 错误"应用程序无法启动,因为应用程序中的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具"解决 ...

  5. java spring 配置log_spring-logger spring中日志配置

    默认日志 Logback: 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了. 从上图可 ...

  6. linux日志服务器配置在哪个文件,Linux中日志的基本配置(syslog)

    Syslog日志的作用: syslog 日志可以帮我们主动的收集到设备的各种信息,并保存在syslog服务器上,当某些设备出现故障的时候,我们可以省去手动收集信息的麻烦,方便快捷的从syslog服务器 ...

  7. CentOs6.5中安装和配置vsftp简明教程

    这篇文章主要介绍了CentOs6.5中安装和配置vsftp简明教程,需要的朋友可以参考下 一.vsftp安装篇 复制代码代码如下: # 安装vsftpd yum -y install vsftpd # ...

  8. Linux系统中FTP的配置(图文详解-全)

    Linux系统中FTP的配置 二.    把安全级别调低           #vi /etc/selinux/config           注意:在RHEL4三.FTP软件包 #mount /d ...

  9. JBoss日志文件配置

    一篇关于JBoss日志配置的文章 有一个项目,可能前期代码不太规范,导致大量的调试语句通过打印或其它的一些方式显示出来.又因为log4j的日志级别设置成了INFO,所以导致产生的日志巨大,而且每天生成 ...

最新文章

  1. mysql server_id作用_在MySQL中设置`server-id`变量不起作用
  2. .NET字符串操作类StringHelper (C#版)
  3. scp时候出现ssh Connection refused的解决方案
  4. Oracle 裁员史:技术人死于重组,卒于云计算
  5. vue.js框架原理浅析
  6. wxWidgets:wxSplitterWindow 示例
  7. eclipse php xdebug,Eclipse for php + Xdebug搭建PHP的调试环境
  8. java hasnext_java hasNext()使用实例解析
  9. Xcode编译后运行程序Killed: -9,因为签名有问题
  10. zkeposx消费管理系统mysql_ZKEposx消费管理系统
  11. CSS display属性 – 不显示、显示表格、内联块等
  12. 使用vue 开发chrome 插件
  13. ToString格式转换大全(1)
  14. oracle预收核销,Oracle EBS AP 应付核销到确定一行预付款
  15. Typora入门手册
  16. 5G消息RCS富媒体通信与传统短信相比有何特色?
  17. re_mysql_20221210
  18. Android开发扫一扫功能,Android使用ZXing实现扫码功能
  19. Leetcode 1087. Brace Expansion
  20. Android P userdebug模式获取adb root adb remount 无权限 remount失败

热门文章

  1. 一个好看的input输入动画
  2. 云服务器ecs是虚拟主机,云服务器ecs是虚拟主机吗
  3. Imperva常用的维护命令
  4. jenkins发送邮件添加附件
  5. MySQL表sql语句增删查改_学会这些操作你就不会栓Q(狗头)
  6. unity3d:Matrix4x4矩阵位移,缩放,旋转
  7. 乐博机器人Arduino周五班级,入门课程,碰撞开关控制灯闪烁
  8. WORD页码相同问题
  9. 良树机器人_fate系列在国内是否有过气的趋势?
  10. 跳台阶,有多少种跳法