Пример #1
0
        private static void LogToConsole(string clientkey, string message, string time, LogType type)
        {
            string hostname = "Server";

            if (clientkey != null)
            {
                NetClient client = NetClientManager.GetNetClient(clientkey);
                if (client != null)
                {
                    hostname = client.HostName;
                }
                else
                {
                    hostname = clientkey;
                }
            }
            string format = string.Format("{0} {1}: {2}", time, hostname, message);

            switch (type)
            {
            case LogType.Modify:
                Console.ForegroundColor = ConsoleColor.DarkRed;
                break;

            case LogType.NetWork:
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                break;

            case LogType.SQLCommand:
                Console.ForegroundColor = ConsoleColor.DarkMagenta;
                break;

            case LogType.GetTableSql:
                Console.ForegroundColor = ConsoleColor.DarkCyan;
                break;

            case LogType.Program:
                Console.ForegroundColor = ConsoleColor.Gray;
                break;

            case LogType.ReadWriteTableLock:
                Console.ForegroundColor = ConsoleColor.DarkMagenta;
                break;

            default:
                Console.ForegroundColor = ConsoleColor.DarkGreen;
                break;
            }
            Console.WriteLine(format);
        }
Пример #2
0
        public void SetModel(string clientkey, string model)
        {
            LogMessage(clientkey, model, LogType.NetWork);
            NetClient client = NetClientManager.GetNetClient(clientkey);

            if (client == null)
            {
                string message = string.Format("SetModel {0}: Not Exist {1}", model, clientkey);
                LogServerMessage(message, LogType.Program);
            }
            else
            {
                client.ModelName = model;
            }
        }
Пример #3
0
        public static LogHelper GetLogHelper(string clientkey)
        {
            NetClient client = NetClientManager.GetNetClient(clientkey);
            string    source = client.Database;

            if (!mLogHelpers.ContainsKey(source))
            {
                lock (mLogHelpers)
                {
                    if (!mLogHelpers.ContainsKey(source))
                    {
                        LogHelper log = new LogHelper(clientkey);
                        mLogHelpers.Add(source, log);
                    }
                }
            }
            return(mLogHelpers[source]);
        }
Пример #4
0
        private void LogToFile(string clientkey, string message, string time, LogType type)
        {
            lock (mFileLock)
            {
                string    hostname = "Server";
                NetClient client   = null;
                if (clientkey != null)
                {
                    client = NetClientManager.GetNetClient(clientkey);
                    if (client != null)
                    {
                        hostname = client.HostName;
                    }
                    else
                    {
                        hostname = clientkey;
                    }
                }
                else
                {
                    client          = new NetClient(null, 0, null);
                    client.Database = "server";
                }

                string format   = string.Format("{0, -12} {1} {2} {3}", type.ToString() + ":", time, hostname, message);
                string filename = DateTime.Now.ToLongDateString();
                string filepath = string.Format(".//logs//{0}", client.Database.ToUpper());
                if (filename != mFileName || mFileStream == null || mFileWriter == null)
                {
                    CloseFile();
                    System.IO.Directory.CreateDirectory(filepath);
                    filepath    = string.Format("{0}//{1}.txt", filepath, filename);
                    mFileName   = filename;
                    mFileStream = new FileStream(filepath, FileMode.Append, FileAccess.Write);
                    mFileWriter = new StreamWriter(mFileStream);
                }
                mFileWriter.WriteLine(format);
                mLineCount++;
                if (mLineCount > mLineLimit)
                {
                    CloseFile();
                }
            }
        }
Пример #5
0
        public void LogToTable(string clientkey, string tablename, ModifyOperate operate)
        {
            NetClient client   = NetClientManager.GetNetClient(clientkey);
            string    hostname = client.HostName;

            lock (mLogTable)
            {
                int     index = mLogTable.Rows.Count;
                DataRow row   = mLogTable.NewRow();
                row["id"]        = index;
                row["hostname"]  = hostname;
                row["tablename"] = tablename;
                row["operate"]   = operate.ToString();
                row["edittime"]  = DateTime.Now;
                mLogTable.Rows.Add(row);
                mTableUnitManager.MarkTableChanged("sys_remote_log");
                mTableUnitManager.SaveTable("sys_remote_log");
            }
        }
Пример #6
0
        public static TableUnitManager GetTableUnitManager(string clientkey)
        {
            NetClient client = NetClientManager.GetNetClient(clientkey);
            string    source = mSourceStringMap[client.Database];

            if (!mTableUnitManangers.ContainsKey(client.Database))
            {
                lock (mTableUnitManangers)
                {
                    if (!mTableUnitManangers.ContainsKey(client.Database))
                    {
                        TableUnitManager tm = new TableUnitManager();
                        tm.Init(source, client.Database);
                        mTableUnitManangers.Add(client.Database, tm);
                    }
                }
            }
            return(mTableUnitManangers[client.Database]);
        }
Пример #7
0
        private static void LogToMonitor(string clientkey, string message, string time, LogType type)
        {
            string hostname = "Server";

            if (clientkey != null)
            {
                NetClient client = NetClientManager.GetNetClient(clientkey);
                if (client != null)
                {
                    hostname = client.HostName;
                }
                else
                {
                    hostname = clientkey;
                }
            }
            string format = string.Format("{0} {1}: {2}", time, hostname, message);

            BroadcastSystem.BroadcastLogToMonitorHandler(format, type);
        }
Пример #8
0
        public LogHelper(string clientkey)
        {
            mClientkey = clientkey;
            NetClient client = NetClientManager.GetNetClient(clientkey);

            if (client.Database != "monitor")
            {
                mTableUnitManager = TableHelper.GetTableUnitManager(clientkey);
                TableUnit unit = mTableUnitManager.GetTableUnit("sys_remote_log");
                mLogTable = unit.GetTable();
            }

            int length = Convert.ToInt32(LogType.END);

            mConsoleFlag = new bool[length];
            mFileFlag    = new bool[length];
            for (int i = 0; i < length; ++i)
            {
                mConsoleFlag[i] = true;
                mFileFlag[i]    = true;
            }
        }