コード例 #1
0
        public static Result Try <TIn>(Action <TIn> action, TIn input, Type loggerType)
        {
            var logger  = new MongoDbLogger(loggerType);
            var handler = new DatabaseExceptionHandler(logger);

            return(handler.Try(action, input));
        }
コード例 #2
0
        private IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
        {
            if (msg != 513 && msg != 516)
            {
                return(hwnd);
            }
            try
            {
                var w32Mouse = new Win32Point();
                GetCursorPos(ref w32Mouse);
                var realpt = PointFromScreen(w32Mouse.ToPoint());
                var cts    = InputHitTest(realpt) as FrameworkElement;
                var btn    = GetClickControl <Button>(cts); //点击的按钮

                var tapInfo = new PointTouchInfo
                {
                    ViewName      = cts?.GetType().FullName,
                    ButtonContent = btn.Name,
                    PointX        = realpt.X,
                    PointY        = realpt.Y
                };
                MongoDbLogger.Insert(LogType.LogPointTouch, LogLevel.Info, tapInfo);

                Task.Run(() => { Console.Beep(1000, 200); });
            }
            catch (Exception ex)
            {
                Logger.Main.Error($"[系统打点]打点时出现异常,详情:{ex.Message}\r\n{ex.StackTrace}");
            }

            return(hwnd);
        }
コード例 #3
0
        public static Result <TOut> Try <TIn, TOut>(Func <TIn, TOut> function, TIn input, Type loggerType)
        {
            var logger  = new MongoDbLogger(loggerType);
            var handler = new DatabaseExceptionHandler(logger);

            return(handler.Try(function, input));
        }
コード例 #4
0
        public static Result Try(Action action, Type loggerType)
        {
            var logger  = new MongoDbLogger(loggerType);
            var handler = new DatabaseExceptionHandler(logger);

            return(handler.Try(action));
        }
コード例 #5
0
        private void Button_OnClick(object sender, RoutedEventArgs e)
        {
            var logtype = (LogType)ComboBox.SelectionBoxItem;

            if (logtype == LogType.LogPointTouch)
            {
                DataGrid.ItemsSource = MongoDbLogger.QueryList <PointTouchInfo>(logtype);
                return;
            }

            DataGrid.ItemsSource = MongoDbLogger.QueryList <LogInfo>(logtype);
        }
コード例 #6
0
        public void ReadLogsByDateRangeWithPaginationTest()
        {
            MongoDbLogger logger = new MongoDbLogger();
            logger.Clear();

            for (int i = 1; i <= 10; i++)
            {
                Log log = new Log();

                if (i <= 3)
                {
                    log.Date = new DateTime(2012, 5, 16);
                }
                else if (i >= 3 && i <= 6)
                {
                    log.Date = new DateTime(2013, 7, 4);
                }
                else if (i >= 6 && i <= 10)
                {
                    log.Date = new DateTime(2013, 6, 22);
                }

                log.Ip = "172.20.154.1";
                log.Message = string.Format("Запись №{0}", i);
                log.Status = Status.Normal;
                log.UserName = "******";
                logger.Write(log);
            }

            long count;
            List<Log> logs = logger.ReadLogs(new DateTime(2012, 5, 16), new DateTime(2013, 7, 4),3,2, out count);

            Assert.IsNotNull(logs);
            Assert.AreEqual(3, logs.Count);
            Assert.AreEqual(10,count);
            var d = DateTime.SpecifyKind(new DateTime(2013, 6, 22, 0, 0, 0), DateTimeKind.Local);
            Assert.AreEqual(new DateTime(2013, 7, 4), logs[0].Date);
            Assert.AreEqual(new DateTime(2013, 6, 22), logs[1].Date);
            Assert.AreEqual(new DateTime(2013, 6, 22), logs[2].Date);

            logs = logger.ReadLogs(new DateTime(2012, 5, 16), new DateTime(2013, 6, 22),4,2,out count);
            Assert.AreEqual(4, logs.Count);
            Assert.AreEqual(7,count);
            Assert.AreEqual(new DateTime(2013, 6, 22), logs[0].Date);
            Assert.AreEqual(new DateTime(2013, 6, 22), logs[1].Date);
            Assert.AreEqual(new DateTime(2012, 5, 16), logs[2].Date);
            Assert.AreEqual(new DateTime(2012, 5, 16), logs[3].Date);

            logger.Clear();
        }
コード例 #7
0
        static async Task Main(string[] args)
        {
            FileStreamExample fileStreamExample = new FileStreamExample();
            await fileStreamExample.WriteFileAsync();

            await fileStreamExample.ReadFileAsync();

            fileStreamExample.WriteReadFileSeek();
            await fileStreamExample.ManualDisposingFileStreamAsync();

            StreamWriterReaderExample streamWriterReaderExample = new StreamWriterReaderExample();
            string testText = "hello world-Dima2020-23-03";
            await streamWriterReaderExample.WriteFileAsync(testText);

            await streamWriterReaderExample.ReadFileAsync();

            BinaryWriterReaderExample binaryWriterReaderExample = new BinaryWriterReaderExample();

            binaryWriterReaderExample.WriteFile();
            binaryWriterReaderExample.ReadFile();

            Console.WriteLine("\n\nEnvironment Variables Example:\n\n");

            EnvironmentVariablesExample environmentVariablesExample = new EnvironmentVariablesExample();

            environmentVariablesExample.DisplaySeveralEnvironmentVariables();

            Console.WriteLine("\n\nLocal App Data Example:\n\n");

            LocalAppDataExample localAppDataExample = new LocalAppDataExample();
            string assemblyFolderPath = localAppDataExample.AssemblyFolderPath();

            Console.WriteLine("Assembly folder path: " + assemblyFolderPath);
            string fileName = "appsettings.json";
            await localAppDataExample.GetFileAsync(fileName);

            Console.WriteLine("\n\nApp Settings Example:\n\n");

            AppSettingsExample appSettingsExample = new AppSettingsExample();
            await appSettingsExample.LogExample();

            Console.WriteLine("\n\nLogs from Mongo database:\n\n");
            MongoDbLogger mongoDbLogger = new MongoDbLogger();
            await mongoDbLogger.GetLogsFromMongoDb();
        }
コード例 #8
0
        public void ReadLogsByDateRangeTest()
        {
            MongoDbLogger logger = new MongoDbLogger();
            logger.Clear();

            for (int i = 1; i <= 10; i++)
            {
                Log log = new Log();

                if (i <= 3)
                {
                    log.Date = new DateTime(2012,5,16);
                }
                else if (i >= 3 && i <= 6)
                {
                    log.Date = new DateTime(2013, 7, 4);
                }
                else if (i >= 6 && i <= 10)
                {
                    log.Date = new DateTime(2013, 6, 22);
                }

                log.Ip = "172.20.154.1";
                log.Message = string.Format("Запись №{0}", i);
                log.Status = Status.Normal;
                log.UserName = "******";
                logger.Write(log);
            }

            List<Log> logs = logger.ReadLogs(new DateTime(2012, 5, 16), new DateTime(2013, 7, 4));
            Assert.IsNotNull(logs);
            Assert.AreEqual(10,logs.Count);

            logs = logger.ReadLogs(new DateTime(2012, 5, 16), new DateTime(2013, 6, 22));
            Assert.AreEqual(7,logs.Count);

            logger.Clear();
        }
コード例 #9
0
ファイル: Logger.cs プロジェクト: cailin0630/ICare.Logger
 public void Error(string message)
 {
     MongoDbLogger.Insert(_logType, LogLevel.Error, message);
 }
コード例 #10
0
ファイル: Logger.cs プロジェクト: cailin0630/ICare.Logger
 public void Warn(string message)
 {
     MongoDbLogger.Insert(_logType, LogLevel.Warn, message);
 }
コード例 #11
0
ファイル: Logger.cs プロジェクト: cailin0630/ICare.Logger
 public void Debug(string message)
 {
     MongoDbLogger.Insert(_logType, LogLevel.Info, message);
 }
コード例 #12
0
ファイル: Logger.cs プロジェクト: cailin0630/ICare.Logger
 public static void Debug(LogType type, object obj)
 {
     MongoDbLogger.Insert(type, LogLevel.Debug, obj);
 }
コード例 #13
0
ファイル: Logger.cs プロジェクト: cailin0630/ICare.Logger
 public static void FatalFormat(LogType type, string format, params object[] args)
 {
     MongoDbLogger.Insert(type, LogLevel.Fatal, string.Format(format, args));
 }
コード例 #14
0
ファイル: Logger.cs プロジェクト: cailin0630/ICare.Logger
 public static void Fatal(LogType type, object obj)
 {
     MongoDbLogger.Insert(type, LogLevel.Fatal, obj);
 }
コード例 #15
0
        public void SetCollectionTest()
        {
            MongoDbLogger logger = new MongoDbLogger();
            logger.Clear();

            logger.SetCollection("wapi.mapmakers");

            Log log = new Log
            {
                Date = DateTime.Now,
                Ip = "172.20.154.1",
                Message = "Проверка",
                Status = Status.Normal,
                UserName = "******"
            };
            logger.Write(log);

            Assert.IsNotNull(log.Id);

            logger.Clear();
        }
コード例 #16
0
ファイル: Logger.cs プロジェクト: cailin0630/ICare.Logger
 public static void Info(LogType type, object obj)
 {
     MongoDbLogger.Insert(type, LogLevel.Info, obj);
 }
コード例 #17
0
ファイル: Logger.cs プロジェクト: cailin0630/ICare.Logger
 public void Fatal(string message)
 {
     MongoDbLogger.Insert(_logType, LogLevel.Fatal, message);
 }
コード例 #18
0
        public void WriteManyLogsTest()
        {
            MongoDbLogger logger = new MongoDbLogger();
            logger.Clear();

            Parallel.For(0, 2000, act =>
            {
                Log log = new Log
                {
                    Date = DateTime.Now,
                    Ip = "172.20.154.1",
                    Message = string.Format("Запись №{0}", act),
                    Status = Status.Normal,
                    UserName = "******"
                };
                logger.Write(log);
            });

            logger.Clear();
        }
コード例 #19
0
        public void WriteLogTest()
        {
            MongoDbLogger logger = new MongoDbLogger();
            logger.Clear();

            Log log = new Log
            {
                Date = DateTime.Now,
                Ip = "172.20.154.1",
                Message = "Проверка",
                Status = Status.Normal,
                UserName = "******"
            };
            logger.Write(log);

            Assert.IsNotNull(log.Id);

            logger.DeleteLog(log.Id);
        }
コード例 #20
0
ファイル: Logger.cs プロジェクト: cailin0630/ICare.Logger
 public static void Warn(LogType type, object obj)
 {
     MongoDbLogger.Insert(type, LogLevel.Warn, obj);
 }
コード例 #21
0
ファイル: Program.cs プロジェクト: jordinola/BridgePattern
        private static void WriteToMongo(Exception exception)
        {
            var mongoLogger = new MongoDbLogger(new DefaultError());

            mongoLogger.Write(exception);
        }
コード例 #22
0
 public void Setup()
 {
     ex     = new Faker <Exception>().Generate();
     logger = new MongoDbLogger(IErrorMock.GetIErrorMock());
 }
コード例 #23
0
ファイル: Logger.cs プロジェクト: cailin0630/ICare.Logger
 public static void Error(LogType type, object obj)
 {
     MongoDbLogger.Insert(type, LogLevel.Error, obj);
 }