博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
REPL LOG
阅读量:6124 次
发布时间:2019-06-21

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

using System;using System.Collections.Generic;using System.Text;using System.Text.RegularExpressions;using System.Threading;using CS = System.Console;namespace ConsoleApplication3{    class Program    {        static void Main(string[] args)        {            CS.ForegroundColor = DefaultForeColor;            CS.BackgroundColor = DefaultBackColor;            CS.Clear();            CS.Title = "日志查询工具";            Msg(LogHelper.HelpText);            while (true)            {                var line = CS.ReadLine().ToLower();                if (line == "help")                {                    Msg(LogHelper.HelpText);                    continue;                }                if (line == "cls")                {                    CS.Clear();                    continue;                }                if (line == "ec")                {                    LogHelper.IsPro = !LogHelper.IsPro;                    if (LogHelper.IsPro)                    {                        Msg("切换为生产环境日志查询...");                    }                    else                    {                        Msg("切换为测试环境日志查询...");                    }                    continue;                }                new LogHelper(line).Open();            }        }        public static void Msg(string str)        {            Show(str, MessageForeColor);        }        public static void Show(string message, ConsoleColor color)        {            CS.ForegroundColor = MessageForeColor;            CS.WriteLine(message);            CS.ForegroundColor = DefaultForeColor;        }        public static ConsoleColor DefaultForeColor = ConsoleColor.White;        public static ConsoleColor DefaultBackColor = ConsoleColor.DarkBlue;        public static ConsoleColor MessageForeColor = ConsoleColor.DarkCyan;        public class LogHelper        {            public static string HelpText;            private const int support = 4;            public static bool IsPro;            public static List
KeyList = new List
{ "xx", "yy", "zz", "88" }; public static List
TitleList = new List
{ "可定检查", "创建订单", "提交订单", "中间产品层" }; static LogHelper() { HelpText = "k+数字(默认是k1):\n\r "; for (var i = 0; i < TitleList.Count; i++) { HelpText += (i + 1) + "." + TitleList[i] + "\n\r "; } HelpText += "默认会员,协议在数字前加0\n\rd/h+数字(默认是d7):\n\r 1.一天(h是小时)内日志\n\r 2.两天(h是小时)内日志\n\r 以此类推...\n\ro+数字:\n\r 打开ordeidr=数字的日志\n\rr+数字:\n\r 打开roomId=数字的日志\n\ru+卡号:\n\r 开的uid=卡号的日志\n\rc+数字:\n\r 打开cityID=数字的日志\n\rhelp:查看命令\n\rcls:清除屏幕\n\rec切换生产/测试环境"; } private string cmd, o, r, u, c;//o==orderid ,r == roomid,u=uid,c=cityid private int k, d, h; public LogHelper(string cmd) { this.cmd = cmd.ToLower(); } private int GetNumber(string prefix) { var contract = 0; var match = GetStr(prefix); if (string.IsNullOrEmpty(match)) return 0; if (match.StartsWith("0")) { contract = 3; } return Convert.ToInt32(match) + contract; } private string GetStr(string prefix) { Regex reg = new Regex(prefix + @"(\d+)", RegexOptions.Compiled); return reg.Match(cmd).Groups[1].ToString(); } public void Open() { k = GetNumber("k"); d = GetNumber("d"); h = GetNumber("h"); o = GetStr("o"); r = GetStr("r"); u = GetStr("u"); c = GetStr("c"); //Msg(d.ToString() + k + h); string result = string.Empty; var dateStr = string.Empty; var key = string.Empty; var end = DateTime.Now; if (d > 0) { var begin = end.AddDays(-d); dateStr = getDateStr(begin, end); } else if (h > 0) { var begin = end.AddHours(-h); dateStr = getDateStr(begin, end); } else { var begin = end.AddDays(-7); dateStr = getDateStr(begin, end); } if (k > 0 && k < support) { key = "key=" + KeyList[k - 1]; } else if (k >= support) { key = "key=" + KeyList[k - support]; } else { key = "key=" + KeyList[0]; } Msg(string.Format("正在打开{0}{1}日志...", GetLogMsg(), IsPro ? "(生产环境)" : "(测试环境)")); Thread.Sleep(500); //System.Diagnostics.Process.Start("chrome.exe", "http:\\www."+line+".com"); } private string GetLogMsg() { var result = string.Empty; if (d > 0) { result += d + "天内的"; } else if (h > 0) { result += h + "小时内的"; } else { result += "7天内的"; } if (k > 0 && k < support) { result += "会员" + TitleList[k - 1]; } else if (k >= support) { result += "协议" + TitleList[k - support]; } else { result += "会员" + TitleList[0]; } if (!string.IsNullOrEmpty(o)) { result += "&" + "orderId=" + o; } if (!string.IsNullOrEmpty(r)) { result += "&" + "roomId=" + r; } if (!string.IsNullOrEmpty(u)) { result += "&" + "uid=" + u; } if (!string.IsNullOrEmpty(c)) { result += "&" + "cityId=" + c; } return result; } private string getDateStr(DateTime begin, DateTime end) { string tf = "{0}~{1}"; var dformat = "yyyy-MM-dd HH:mm:ss"; return string.Format(tf, end.ToString(dformat), end.ToString(dformat)); } } }}

 

转载于:https://www.cnblogs.com/shenfengok/p/6130194.html

你可能感兴趣的文章
设计模式之单体模式
查看>>
我是如何自学Android,资料分享(2015 版)
查看>>
linux之 SELinux保护
查看>>
阿里技术人的第一节课,都上些什么?
查看>>
CSS-背景裁剪 | background-clip
查看>>
docker搭建私有仓库以及使用
查看>>
BF模式匹配算法改良
查看>>
TableStore时序数据存储 - 架构篇
查看>>
Java异常处理:如何写出“正确”但被编译器认为有语法错误的程序
查看>>
VUE2.0 vue-cli构建项目中使用Less
查看>>
Myeclipse报错-Java compiler level does not match 完美解决方法
查看>>
从编程小白到全栈开发:数据 (1)
查看>>
比上清华更难的,是加入这支中国顶级黑客战队
查看>>
OpenCV添加中文(五)
查看>>
飞天技术汇“2018云栖大会·重庆峰会”专场,“一出好戏”等你加入
查看>>
带你打开-接口测试的大门
查看>>
【Web API系列教程】2.1 — ASP.NET Web API中的路由机制
查看>>
ListView在ScrollView中不显示全部的问题
查看>>
JS-原生代码或方法实现特定效果总结(更新中...)
查看>>
day05_MySQL学习笔记_02
查看>>