예제 #1
0
        public void CSVFileDestinationStartByLaConfig()
        {
            string       TNAME = "UnitTest-" + MethodInfo.GetCurrentMethod().Name;
            string       FNAME = TNAME + ".csv.log";
            const string DATE  = "20131012";

            var laStr = @"log 
                        {{ 
                          destination 
                          {{ 
                            type='NFX.Log.Destinations.CSVFileDestination, NFX' 
                            name='{0}'
                            filename='$(@~path)$(::now fmt=yyyyMMdd value={1})-$($name).csv.log'
                          }} 
                        }}".Args(TNAME, DATE);

            var cnf = LaconicConfiguration.CreateFromString(laStr);

            cnf.EnvironmentVarResolver = new Vars()
            {
                { "path", TEST_DIR }
            };

            string fname = Path.Combine(TEST_DIR, DATE + "-" + FNAME);

            IOMiscUtils.EnsureFileEventuallyDeleted(fname);

            var logService = new LSVC(null);

            using (Scope.OnExit(() => File.Delete(fname)))
            {
                logService.Configure(cnf.Root);

                logService.Start();

                logService.Write(new Message()
                {
                    Text = "Msg 1"
                });
                logService.Write(new Message()
                {
                    Text = "Msg 2"
                });
                logService.Write(new Message()
                {
                    Text = "Msg 3"
                });

                logService.WaitForCompleteStop();

                Assert.IsTrue(File.Exists(fname));
                Assert.AreEqual(3, File.ReadAllLines(fname).Length);
            }
        }
예제 #2
0
        public void CSVFileDestinationStartByConfig1()
        {
            string       TNAME = "UnitTest-" + MethodBase.GetCurrentMethod().Name;
            string       FNAME = TNAME + ".csv.log";
            const string DATE  = "20131012";

            var xml = @"<log>
                        <destination type='NFX.Log.Destinations.CSVFileDestination, NFX'
                                     name='{0}'
                                     filename='$(@~path)$(::now fmt=yyyyMMdd value={1})-$($name).csv.log'
                                     create-dir='true'
                        />
                 </log>".Args(TNAME, DATE);

            var svc = new LSVC(null);

            var fname = Path.Combine(TEST_DIR, DATE + "-" + FNAME);

            if (File.Exists(fname))
            {
                File.Delete(fname);
            }

            using (Scope.OnExit(() => File.Delete(fname)))
            {
                var cfg = XMLConfiguration.CreateFromXML(xml);
                cfg.EnvironmentVarResolver = new Vars {
                    { "path", TEST_DIR }
                };
                svc.Configure(cfg.Root);

                svc.Start();

                svc.Write(new Message {
                    Text = "1 message"
                });
                svc.Write(new Message {
                    Text = "2 message"
                });
                svc.Write(new Message {
                    Text = "3 message"
                });


                svc.WaitForCompleteStop();

                Assert.IsTrue(File.Exists(fname));
                Assert.AreEqual(3, File.ReadAllLines(fname).Length);
            }
        }
예제 #3
0
        public void CSVFileDestinationStartByConfig2()
        {
            string TNAME = "UnitTest-" + MethodBase.GetCurrentMethod().Name;
            string FNAME = TNAME + ".csv.log";
            var    xml   = @"<log>
                        <destination  type='NFX.Log.Destinations.CSVFileDestination, NFX'
                                      name='{0}' path='{1}' create-dir='true' name-time-format=''
                        />
                 </log>".Args(TNAME, TEST_DIR);

            var svc = new LSVC(null);

            var fname = Path.Combine(TEST_DIR, FNAME);

            if (File.Exists(fname))
            {
                File.Delete(fname);
            }

            using (Scope.OnExit(() => File.Delete(fname)))
            {
                svc.Configure(XMLConfiguration.CreateFromXML(xml).Root);

                svc.Start();


                svc.Start();

                svc.Write(new Message {
                    Text = "1 message"
                });
                svc.Write(new Message {
                    Text = "2 message"
                });
                svc.Write(new Message {
                    Text = "3 message"
                });


                svc.WaitForCompleteStop();

                Assert.AreEqual(true, File.Exists(fname));
                Assert.AreEqual(3, File.ReadAllLines(fname).Length);
            }
        }
예제 #4
0
        public void TestDestination_CreateByLaConfig()
        {
            string la  = @"
        log
        {{
          destination
          {{
            type='NFX.Log.Destinations.SQLServerDestination, NFX'
            name='{0}'
            connect-string='{1}'
            table-name='{2}'
          }}
        }}".Args(DEST_NAME, CONN_STR, TBL_NFXLOG_CUSTOM);
            var    cfg = LaconicConfiguration.CreateFromString(la);

            dropTable(TBL_NFXLOG_CUSTOM);

            var logService = new LSVC(null);

            using (Scope.OnExit(() => dropTable(TBL_NFXLOG_CUSTOM)))
            {
                logService.Configure(cfg.Root);

                logService.Start();

                logService.Write(new Message()
                {
                    Text = "Msg 1"
                });
                logService.Write(new Message()
                {
                    Text = "Msg 2"
                });
                logService.Write(new Message()
                {
                    Text = "Msg 3"
                });

                logService.WaitForCompleteStop();

                DataTable tbl = getLogTableRecords(TBL_NFXLOG_CUSTOM);
                Assert.AreEqual(3, tbl.Rows.Count);
            }
        }
예제 #5
0
        public void CSVFileDestinationStartByConfig2()
        {
            var TNAME = "UnitTest-" + MethodBase.GetCurrentMethod().Name;
            var FNAME = TNAME + ".csv.log";
            var xml   = @"<log>
                      <destination  type='NFX.Log.Destinations.CSVFileDestination, NFX'
                                    name='{0}' path='{1}' file-name='$($name).csv.log'
                      />
                   </log>".Args(TNAME, TEST_DIR);

            var fname = Path.Combine(TEST_DIR, FNAME);

            IOMiscUtils.EnsureFileEventuallyDeleted(fname);

            using (var svc = new LSVC())
                using (Scope.OnExit(() => File.Delete(fname)))
                {
                    svc.Configure(XMLConfiguration.CreateFromXML(xml).Root);

                    svc.Start();

                    svc.Write(new Message {
                        Text = "1 message"
                    });
                    svc.Write(new Message {
                        Text = "2 message"
                    });
                    svc.Write(new Message {
                        Text = "3 message"
                    });

                    svc.WaitForCompleteStop();

                    Aver.IsTrue(File.Exists(fname));
                    Aver.AreEqual(3, File.ReadAllLines(fname).Length);
                }
        }
예제 #6
0
        public void CSVFileDestinationStartByLaConfig()
        {
            string TNAME = "UnitTest-" + MethodInfo.GetCurrentMethod().Name;
              string FNAME = TNAME + ".csv.log";
              const string DATE = "20131012";

              var laStr = @"log
                        {{
                          destination
                          {{
                            type='NFX.Log.Destinations.CSVFileDestination, NFX'
                            name='{0}'
                            filename='$(@~path)$(::now fmt=yyyyMMdd value={1})-$($name).csv.log'
                          }}
                        }}".Args(TNAME, DATE);

              var cnf = LaconicConfiguration.CreateFromString(laStr);
              cnf.EnvironmentVarResolver = new Vars() { { "path", TEST_DIR}};

              string fname = Path.Combine(TEST_DIR, DATE + "-" + FNAME);
              IOMiscUtils.EnsureFileEventuallyDeleted(fname);

              var logService = new LSVC(null);

              using (Scope.OnExit(() => File.Delete(fname)))
              {
            logService.Configure(cnf.Root);

            logService.Start();

            logService.Write(new Message() { Text = "Msg 1"});
            logService.Write(new Message() { Text = "Msg 2" });
            logService.Write(new Message() { Text = "Msg 3" });

            logService.WaitForCompleteStop();

            Assert.IsTrue(File.Exists(fname));
            Assert.AreEqual(3, File.ReadAllLines(fname).Length);
              }
        }
예제 #7
0
        public void CSVFileDestinationStartByConfig2()
        {
            string TNAME = "UnitTest-" + MethodBase.GetCurrentMethod().Name;
             string FNAME = TNAME + ".csv.log";
             var xml= @"<log>
                        <destination  type='NFX.Log.Destinations.CSVFileDestination, NFX'
                                      name='{0}' path='{1}' create-dir='true' name-time-format=''
                        />
                 </log>".Args(TNAME, TEST_DIR);

             var svc = new LSVC(null);

             var fname = Path.Combine(TEST_DIR, FNAME);

             if (File.Exists(fname)) File.Delete(fname);

             using (Scope.OnExit(() => File.Delete(fname)))
             {
               svc.Configure(XMLConfiguration.CreateFromXML(xml).Root);

               svc.Start();

               svc.Start();

               svc.Write(new Message{Text = "1 message"});
               svc.Write(new Message{Text = "2 message"});
               svc.Write(new Message{Text = "3 message"});

               svc.WaitForCompleteStop();

               Assert.AreEqual(true, File.Exists(fname));
               Assert.AreEqual(3, File.ReadAllLines(fname).Length);
             }
        }
예제 #8
0
        public void CSVFileDestinationStartByConfig1()
        {
            string TNAME = "UnitTest-" + MethodBase.GetCurrentMethod().Name;
             string FNAME = TNAME + ".csv.log";
             const string DATE = "20131012";

             var xml= @"<log>
                        <destination type='NFX.Log.Destinations.CSVFileDestination, NFX'
                                     name='{0}'
                                     filename='$(@~path)$(::now fmt=yyyyMMdd value={1})-$($name).csv.log'
                                     create-dir='true'
                        />
                 </log>".Args(TNAME, DATE);

             var svc = new LSVC(null);

             var fname = Path.Combine(TEST_DIR, DATE + "-" + FNAME);

             if (File.Exists(fname)) File.Delete(fname);

             using (Scope.OnExit(() => File.Delete(fname)))
             {
               var cfg = XMLConfiguration.CreateFromXML(xml);
               cfg.EnvironmentVarResolver = new Vars { { "path", TEST_DIR } };
               svc.Configure(cfg.Root);

               svc.Start();

               svc.Write(new Message{Text = "1 message"});
               svc.Write(new Message{Text = "2 message"});
               svc.Write(new Message{Text = "3 message"});

               svc.WaitForCompleteStop();

               Assert.IsTrue(File.Exists(fname));
               Assert.AreEqual(3, File.ReadAllLines(fname).Length);
             }
        }
예제 #9
0
        public void TestDestination_CreateByLaConfig()
        {
            string la = @"
            log
            {{
              destination
              {{
            type='NFX.Log.Destinations.SQLServerDestination, NFX'
            name='{0}'
            connect-string='{1}'
            table-name='{2}'
              }}
            }}".Args(DEST_NAME, CONN_STR, TBL_NFXLOG_CUSTOM);
              var cfg = LaconicConfiguration.CreateFromString(la);

              dropTable(TBL_NFXLOG_CUSTOM);

              var logService = new LSVC(null);
              using (Scope.OnExit(() => dropTable(TBL_NFXLOG_CUSTOM)))
              {
            logService.Configure(cfg.Root);

            logService.Start();

            logService.Write(new Message() { Text = "Msg 1" });
            logService.Write(new Message() { Text = "Msg 2" });
            logService.Write(new Message() { Text = "Msg 3" });

            logService.WaitForCompleteStop();

            DataTable tbl = getLogTableRecords(TBL_NFXLOG_CUSTOM);
            Assert.AreEqual(3, tbl.Rows.Count);
              }
        }