示例#1
0
		public static void LogToDatabase(string logType, string logMessage)
		{
			LogMessageRepository rep = new LogMessageRepository();
			LogMessage dbLog = new LogMessage();
			dbLog.LogType = logType;
			dbLog.LogContent = logMessage;
			dbLog.LogDate = DateTime.Now;

			using (var session = JMMService.SessionFactory.OpenSession())
			{
				rep.Save(session, dbLog);
			}

			logger.Info(string.Format("{0} - {1}", logType, logMessage));
		}
示例#2
0
		public List<Contract_LogMessage> GetLogMessages(string logType)
		{
			List<Contract_LogMessage> retLogs = new List<Contract_LogMessage>();
			try
			{
				List<LogMessage> logs = null;
				LogMessageRepository repIgnore = new LogMessageRepository();

				using (var session = JMMService.SessionFactory.OpenSession())
				{
					if (string.IsNullOrEmpty(logType))
						logs = repIgnore.GetAll(session);
					else
						logs = repIgnore.GetByLogType(session, logType);

					foreach (LogMessage log in logs)
						retLogs.Add(log.ToContract());
				}

			}
			catch (Exception ex)
			{
				logger.ErrorException(ex.ToString(), ex);
			}

			return retLogs;
		}
示例#3
0
文件: Importer.cs 项目: dizzydezz/jmm
		public static void CheckForLogClean()
		{
			int freqHours = 24;

			// check for any updated anime info every 12 hours
			ScheduledUpdateRepository repSched = new ScheduledUpdateRepository();
			AniDB_AnimeRepository repAnime = new AniDB_AnimeRepository();

			ScheduledUpdate sched = repSched.GetByUpdateType((int)ScheduledUpdateType.LogClean);
			if (sched != null)
			{
				// if we have run this in the last 24 hours and are not forcing it, then exit
				TimeSpan tsLastRun = DateTime.Now - sched.LastUpdate;
				if (tsLastRun.TotalHours < freqHours) return;
			}

			// files which have been hashed, but don't have an associated episode
			LogMessageRepository repVidLocals = new LogMessageRepository();

			DateTime logCutoff = DateTime.Now.AddDays(-30);
			//DateTime logCutoff = DateTime.Now.AddMinutes(-45);
			using (var session = JMMService.SessionFactory.OpenSession())
			{
				foreach (LogMessage log in repVidLocals.GetAll(session))
				{
					if (log.LogDate < logCutoff)
						repVidLocals.Delete(session, log.LogMessageID);
				}
			}

			// now check for any files which have been manually linked and are less than 30 days old


			if (sched == null)
			{
				sched = new ScheduledUpdate();
				sched.UpdateType = (int)ScheduledUpdateType.LogClean;
				sched.UpdateDetails = "";
			}
			sched.LastUpdate = DateTime.Now;
			repSched.Save(sched);
		}