public void Appendで3行ログを追加すると通常ログが3行になる() { const int logKind = 2; //固定ログの種類 const string fileName = "BlackJumboDog.Log"; //setUp var dir = TestUtil.GetTmpPath(TmpDir); Directory.CreateDirectory(dir); var sut = new LogFile(dir, logKind, logKind, 0,true); sut.Append( new OneLog("2012/06/01 00:00:00\tDetail\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater")); sut.Append( new OneLog("2012/06/02 00:00:00\tError\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater")); sut.Append( new OneLog("2012/06/03 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater")); sut.Dispose(); const int expected = 3; //exercise var lines = File.ReadAllLines(String.Format("{0}\\{1}", dir, fileName)); var actual = lines.Length; //verify Assert.That(actual, Is.EqualTo(expected)); }
//テスト用 public Logger() { _logLimit = null; _logFile = null; _logView = null; _isJp = true; _nameTag = ""; _useDetailsLog = false; _useLimitString = false; _logger = null; }
//コンストラクタ //kernelの中でCreateLogger()を定義して使用する public Logger(Kernel kernel, LogLimit logLimit, LogFile logFile, LogView logView, bool isJp, String nameTag, bool useDetailsLog, bool useLimitString, ILogger logger) { _kernel = kernel; _logLimit = logLimit; _logFile = logFile; _logView = logView; _isJp = isJp; _nameTag = nameTag; _useDetailsLog = useDetailsLog; _useLimitString = useLimitString; _logger = logger; }
public void ログの種類固定で予想されたパターンのファイルが2つ生成される() { const int logKind = 2; //固定ログの種類 const string pattern = "*.Log"; //setUp var dir = TestUtil.GetTmpPath(TmpDir); Directory.CreateDirectory(dir); var sut = new LogFile(dir, logKind, logKind, 0,true); const int expected = 2; //exercise var actual = Directory.GetFiles(dir,pattern).Count(); //verify Assert.That(actual, Is.EqualTo(expected)); //tearDown sut.Dispose(); }
public void 過去7日分のログを準備して本日からsaveDaysでtailする() { //setUp var dir = TestUtil.GetTmpPath(TmpDir); Directory.CreateDirectory(dir); //2012/09/01~7日分のログを準備 var logFile = new LogFile(dir, 2, 2, 0,true); //最初は、保存期間指定なしで起動する logFile.Append( new OneLog("2012/09/01 00:00:00\tDetail\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater")); logFile.Append( new OneLog("2012/09/02 00:00:00\tError\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater")); logFile.Append( new OneLog("2012/09/03 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater")); logFile.Append( new OneLog("2012/09/04 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater")); logFile.Append( new OneLog("2012/09/05 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater")); logFile.Append( new OneLog("2012/09/06 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater")); logFile.Append( new OneLog("2012/09/07 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater")); logFile.Dispose(); const int expected = 2; //exercise //リフレクションを使用してprivateメソッドにアクセスする var cls = logFile; var type = cls.GetType(); var methodInfo = type.GetMethod("Tail", BindingFlags.NonPublic | BindingFlags.Instance); var dt = new DateTime(2012, 9, 7);//2012.9.7に設定する var path = string.Format("{0}\\BlackJumboDog.Log", dir); const int saveDays = 2; //保存期間2日 methodInfo.Invoke(cls, new object[] { path, saveDays, dt }); var actual = File.ReadAllLines(path).Length; //verify Assert.That(actual, Is.EqualTo(expected)); }
//�T�[�o�ċN���ŁA�ēx���s����鏉���� public void ListInitialize() { //Logger���g�p�ł��Ȃ��Ԃ̃��O�́A������ɕۑ����āA���Logger�ɑ��� var tmpLogger = new TmpLogger(); //************************************************************ // �j�� //************************************************************ if (ListOption != null){ ListOption.Dispose(); ListOption = null; } //Java fix if (ListTool != null){ ListTool.Dispose(); ListTool = null; } if (ListServer != null){ ListServer.Dispose(); ListServer = null; } if (MailBox != null){ MailBox = null; } if (LogFile != null){ LogFile.Dispose(); LogFile = null; } //************************************************************ // ������ //************************************************************ //ListPlugin �́BListOption��ListServer�����������Ԃ����������� //isTest=true�̏ꍇ�A�p�X��""�ɂ��āA�v���O�C��0�ŏ������������� //ListPlugin listPlugin = new ListPlugin((isTest) ? "" : string.Format("%s\\plugins", getProgDir())); var listPlugin = new ListPlugin(ProgDir()); foreach (var o in listPlugin){ //�����[�g�N���C�A���g�̏ꍇ�A���̃��O�́A��₱�����̂ŕ\�����Ȃ� if (RunMode == RunMode.Normal){ tmpLogger.Set(LogKind.Detail, null, 9000008, string.Format("{0}Server", o.Name)); } } //ListOption�Ŋe�I�v�V���������������O�ɁAisJp�����͏��������Ă����K�v������̂� //�ŏ���OptionBasic��lang������ǂݏo�� //Ver5.8.6 Java fix //_isJp = OptionIni.GetInstance().IsJp(); _isJp = IniDb.IsJp(); ListOption = new ListOption(this, listPlugin); //Ver5.9.1 //���߂Ă�����ʉ߂���Ƃ��A�ߋ��̃o�[�W������Option��ǂݍ��ނ� //���I�v�V�����̓I�u�W�F�N�g�̒���OneOption�ɂ̂ݕێ������ //���̏�ԂŁA�����̃I�v�V�����w���OK����ƁA���̃I�v�V�����ȊO�� //Option.ini�ɕۑ�����Ȃ����ߔj������Ă��܂� //���̖��ɑΏ����邽�߁A�����ň�x�AOption.ini��ۑ����邱�Ƃɂ��� if (!_isTest){ ListOption.Save(IniDb); } //OptionBasic var confBasic = new Conf(ListOption.Get("Basic")); EditBrowse = (bool) confBasic.Get("editBrowse"); //OptionLog var confOption = new Conf(ListOption.Get("Log")); LogView.SetFont((Font) confOption.Get("font")); if (RunMode == RunMode.Normal || RunMode == RunMode.Service){ //LogFile�̏����� var saveDirectory = (String) confOption.Get("saveDirectory"); saveDirectory = ReplaceOptionEnv(saveDirectory); var normalLogKind = (int) confOption.Get("normalLogKind"); var secureLogKind = (int) confOption.Get("secureLogKind"); var saveDays = (int) confOption.Get("saveDays"); //Ver6.0.7 var useLogFile = (bool)confOption.Get("useLogFile"); var useLogClear = (bool) confOption.Get("useLogClear"); if (!useLogClear){ saveDays = 0; //���O�̎����폜�������ȏꍇ�AsaveDays��0��Z�b�g���� } if (saveDirectory == ""){ tmpLogger.Set(LogKind.Error, null, 9000045, "It is not appointed"); } else{ tmpLogger.Set(LogKind.Detail, null, 9000032, saveDirectory); try{ LogFile = new LogFile(saveDirectory, normalLogKind, secureLogKind, saveDays,useLogFile); } catch (IOException e){ LogFile = null; tmpLogger.Set(LogKind.Error, null, 9000031, e.Message); } } //Ver5.8.7 Java fix //mailBox������ foreach (var o in ListOption) { //SmtpServer�Ⴕ���́APop3Server���g�p�����ꍇ�̂݃��[���{�b�N�X����������� if (o.NameTag == "Smtp" || o.NameTag == "Pop3") { if (o.UseServer) { var conf = new Conf(ListOption.Get("MailBox")); var dir = ReplaceOptionEnv((String) conf.Get("dir")); var datUser = (Dat) conf.Get("user"); var logger = CreateLogger("MailBox", (bool)conf.Get("useDetailsLog"), null); MailBox = new MailBox(logger,datUser, dir); break; } } } } _logger = CreateLogger("kernel", true, null); tmpLogger.Release(_logger); //Ver5.8.7 Java fix �����[�g�N���C�A���g�̏ꍇ����[���{�b�N�X��쐬���Ă��܂��o�O��C�� // //mailBox������ // foreach (var o in ListOption){ // //SmtpServer�Ⴕ���́APop3Server���g�p�����ꍇ�̂݃��[���{�b�N�X����������� // if (o.NameTag == "Smtp" || o.NameTag == "Pop3"){ // if (o.UseServer){ // var conf = new Conf(ListOption.Get("MailBox")); // MailBox = new MailBox(this, conf); // break; // } // } // } ListServer = new ListServer(this, listPlugin); ListTool = new ListTool(); ListTool.Initialize(this); View.SetColumnText(); //Log�r���[�̃J�����e�L�X�g�̏����� Menu.Initialize(IsJp()); //���j���[�\�z�i����e�[�u���̏������j WebApi = new WebApi(); }