集成Log4Net到自己的Unity工程
需要使用的插件库说明:
Loxodon Framework Log4Net
Version: 1.0.0
© 2016, Clark Yang
=======================================
Thank you for purchasing the plugin!
I hope you enjoy using the product and that it makes your game development faster and easier.
If you have a moment,please leave me a review on the Asset Store.
The version is compatible with MacOSX,Windows,Linux iOS and Android etc.
Requires Loxodon Framework.
https://www.assetstore.unity3d.com/#!/content/77446
Please email yangpc.china@gmail.com for any help or issues.
UPDATE NOTES
----------------------------------------
参考Log4NetExample扩展自己的Loger:
- using System.IO;
- using Loxodon.Log;
- using UnityEngine;
- public sealed class ZSLoger
- {
- static private ZSLoger _instance;
- static public ZSLoger Instance
- {
- get
- {
- if (_instance == null)
- {
- _instance = new ZSLoger();
- }
- return _instance;
- }
- }
- private ZSLoger()
- {
- InitializeLog();
- }
- private void InitializeLog()
- {
- /* Initialize the log4net */
- TextAsset configText = Resources.Load<TextAsset>("Log4NetConfig");
- if (configText != null)
- {
- using (MemoryStream memStream = new MemoryStream(configText.bytes))
- {
- log4net.Config.XmlConfigurator.Configure(memStream);
- }
- }
- /* Initialize the Loxodon.Log.LogManager */
- LogManager.Registry(new Log4NetFactory());
- }
- public ILog Loger
- {
- get
- {
- return LogManager.GetLogger(typeof(ZSLoger));
- }
- }
- }
使用情况:
- ...
- public virtual void Enter()
- {
- ZSLoger.Instance.Loger.Debug("this is a test, in enter.");
- }
- public virtual void Exit()
- {
- }
- public virtual void Update()
- {
- }
- }
- ...
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class RunLogicManager : SingletonLimit<RunLogicManager>
- {
- private RunningBaseState mState;
- private Stack<RunningBaseState> mStateStack = new Stack<RunningBaseState>();
- public static RunLogicManager Instance
- {
- get
- {
- return (RunLogicManager)mInstance;
- }
- set
- {
- mInstance = value;
- }
- }
- private void GotoState(RunningBaseState state)
- {
- if (mStateStack.Count > )
- {
- var tempState = mStateStack.Pop();
- tempState.Exit();
- }
- mState = state;
- mStateStack.Push(mState);
- mState.Enter();
- }
- // Use this for initialization
- void Start ()
- {
- GotoState(RunningBaseState.time);
- }
- // Update is called once per frame
- void Update ()
- {
- }
- }
- // 输出情况
- -- ::, Thread[] DEBUG ZSLoger - this is a test, in enter.
集成Log4Net到自己的Unity工程的更多相关文章
- unity工程接入Android sdk后真机测试解锁屏后退出的解决
unity工程接入如91.移动支付等Android sdk后,真机运行尤其是在4.0+以上坏境,往往会出现解锁屏后退出的情况,解决办法如下: 可以在AndroidManifest.xml中所有的con ...
- 用Visual Studio创建集成了gtest的命令行工程
gtest代码库中的sample代码 在gtest的代码库中,包含了10个sample的代码,覆盖了gtest的常见用法,sample的代码位于以下文件夹: gtest\samples 由于gtest ...
- asp.net core 集成 log4net 日志框架
asp.net core 集成 log4net 日志框架 Intro 在 asp.net core 中有些日志我们可能想输出到数据库或文件或elasticsearch等,如果不自己去实现一个 Logg ...
- 【Unity_UWP】Unity 工程发布win10 UWP 时的本地文件读取 (下篇)
Universal Windows Platform(UWP)是微软Windows10专用的通用应用平台,其目的在于在统一操作系统下控制所有智能电子设备. 自从Unity 5.2之后,配合VS 201 ...
- 【Unity_UWP】Unity 工程发布win10 UWP 时的本地文件读取 (上篇)
Universal Windows Platform(UWP)是微软Windows10专用的通用应用平台,其目的在于在统一操作系统下控制所有智能电子设备. 自从Unity 5.2之后,配合VS 201 ...
- 升级MAC OS到10.13, 10.14系统后UNITY工程无法加载资源的解决办法
升级MAC OS到10.13, 10.14系统后,出现UNITY工程无法加载资源的情况: Unity项目中Asset目录显示为空! 解决办法一: 打开Launchpad中的磁盘工具 (也就是实用工具下 ...
- Unity工程资源破解
Unity工程资源提取其实还是很方便的,网上也有很多相关介绍,比如雨凇就专门写了一遍关于破解Unity资源的文章(http://www.xuanyusong.com/archives/3618 ...
- Asp.Net Core 进阶(二) —— 集成Log4net
Asp.Net Core 支持适用于各种内置日志记录API,同时也支持其他第三方日志记录.在我们新建项目后,在Program 文件入口调用了CreateDefaultBuilder,该操作默认将添加以 ...
- Unity工程无代码化
目的 Unity默认是将代码放入工程,这样容易带来一些问题.1. 代码和资源混合,职能之间容易互相误改.2. 当代码量膨胀到一定程度后,代码的编译时间长到无法忍受.新版的unity支持通过asmde ...
随机推荐
- Wannafly Winter Camp 2020 Day 7A 序列 - 树状数组
给定一个全排列,对于它的每一个子序列 \(s[1..p]\),对于每一个 \(i \in [1,p-1]\),给 \(s[i],s[i+1]\) 间的每一个值对应的桶 \(+1\),求最终每个桶的值. ...
- ubuntu set up 7 - power
https://askubuntu.com/questions/1078939/ubuntu-18-04-battery-life http://tipsonubuntu.com/2018/11/18 ...
- NOI Online能力测试游记:退役选手的自娱自乐
2020年2月17日早上8点,CCF发布了关于举办NOI Online能力测试的通知. 为给选手提供一个锻炼的机会,CCF拟举办一场NOI Online能力测试.测试分为入门组和提高组,每组限额报名3 ...
- 服务起不来,查看ps axj 看服务是否为守护进程(TPGID 为-1)
在linux命令行中输入: ps axj 查看服务进程的 TPGID 字段的值是否为-1 ,为-1表示为守护进程 不为-1表示不是守护进程,服务启动不起来,或者启动起来后又被杀死了
- 500kuai
https://www.bilibili.com/bangumi/media/md11653495/?spm_id_from=666.10.b_62616e67756d695f64657461696c ...
- 使用Xpath爬取酷狗TOP500的歌曲信息
使用xpath爬取酷狗TOP500的歌曲信息, 将排名.歌手名.歌曲名.歌曲时长,提取的结果以文件形式保存下来.参考网址:http://www.kugou.com/yy/rank/home/1-888 ...
- 【Unity|C#】基础篇(14)——预处理指令(#)
[学习资料] <C#图解教程>(第23章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu. ...
- 在阿里云IIS服务器上安装证书
在IIS服务器上安装证书 您可将下载的阿里云SSL证书安装到IIS服务器上,使您的IIS服务器支持HTTPS安全访问. 一.前提条件 申请证书时需要选择 系统自动创建CSR. 申请证书时如果选择手动创 ...
- Hibernate 和Mybatis的区别
Hibernate 和Mybatis的区别 1.hibernate 入门门槛高,是一个标准的ORM框架(对象关系映射),不需要程序写sql,sql语句自动生成,对sql语句进行优化.修改比较困难. ...
- java中的多构造函数以及类字段的初始化顺序
1.同一个类可以有多个构造函数,多个构造函数之间通过参数来区分.这是方法重载的一个实例.构造函数之间可以相互调用. 2.类的初始化块:可以在类中使用“{”和“}”将语句包围起来,直接将其作为类的成员. ...