-- exec sp_gamelog_import getdate(),'2010-03-01'
-- exec sp_gamelog_import '2010-03-01 10:00','2010-03-01 9:00'--補9點1個小時資料
-- select * from mtunes_elog order by sendtime desc, idx desc, endtime desc
-- exec sp_gamelog_import '2010-03-01','2010-03-01'
create proc sp_gamelog_import(
@endtime datetime=null,-- 每小時25分生成log,所以資料入庫相隔2小時才能完整
@starttime datetime=null--手工錄入注意@endtime的相隔2小時
)/*遊戲日誌按小時入庫
*/as
begin
---一次性批量匯入
declare @table varchar(100)
declare @file_path varchar(500)
declare @file varchar(100)
declare @file_exist int
-- declare @starttime datetime
-- declare @endtime datetime
declare @cur datetime
declare @sql varchar(8000)
declare @fieldterminator varchar(10)
declare @rowterminator varchar(10)
if @endtime is null
set @endtime=getdate()
else set @endtime=dateadd(hour, 2, @endtime)--手工錄入通常已確認日誌都包括,補足2小時間隔
-- set @starttime='2010-03-01'
if @starttime is null
begin
--set @starttime =(select max(endtime) from mtunes_elog where type='sp_gamelog_import' and msg='hour import done')
-- 確保開始時間為最後一次成功入庫檔案的時間的下乙個小時
--if @starttime>(select max(endtime) from mtunes_elog where type='sp_gamelog_import' and msg like 'success:e:/cq_notify_log/action_%')
set @starttime=(select max(endtime) from mtunes_elog where type='sp_gamelog_import' and msg like 'success:e:/cq_notify_log/action_%')
set @starttime=dateadd(hour, 1, @starttime)
end--手工生成,刪除已經新增的檔案記錄
else delete gamelog where aday+' '+atime between @starttime and @endtime
-- print convert(varchar, @starttime,120)
-- print convert(varchar, @endtime,120)
-- truncate table gamelog
-- truncate table mtunes_elog
-- select top 0* into gamelog from gamelog_model
set @table='gamelog'
set @file_path='e:/cq_notify_log/action_'
set @fieldterminator='|'
set @rowterminator=char(13)+char(10)
set @cur=@starttime
while @cur-- 判斷檔案是否存在
exec master.dbo.xp_fileexist @file,@file_exist output
if(@file_exist=1)
begin
set @sql='bulk insert '+@table+' from '''+@file+'''
with (fieldterminator='''+@fieldterminator+''',
rowterminator='''+@rowterminator+''' )'
-- print(@sql)
exec(@sql)
if(@@error=0)
insert into mtunes_elog values(getdate(), @cur, 'sp_gamelog_import','success:'+@file)
else insert into mtunes_elog values(getdate(), @cur, 'sp_gamelog_import','@@error=:'+cast(@@error as varchar)+':'+@file)
endelse insert into mtunes_elog values(getdate(), @cur, 'sp_gamelog_import','no file:'+@file)
-- print convert(varchar, @cur, 120)
set @cur=dateadd(hour, 1, @cur)
endinsert into mtunes_elog values(getdate(), dateadd(hour, -1, @cur), 'sp_gamelog_import','hour import done')
endgo
SaltStack Return日誌入庫審計
在我們執行salt任務時,預設日誌是螢幕列印的,對於我們審計任務運 況帶來很不方便,因此我們對日誌結果進行了二次開發,將job日誌處理 庫,方便查詢.idgmt created gray job id exec role job id func minion id success full ret ...
log4j日誌入庫
下面是配置將日誌資訊插入資料庫,以上是log4j.properties配置檔案 sql詳解 設定要插入日誌資訊的格式和內容,x是置取mdc中的key值,因為我們在過濾器中是將使用者id和使用者姓名放入mdc中,所有在這裡可以用 x和 x取出使用者的id和使用者姓名 c 表示日誌資訊是來自於那個類 m...
shell指令碼nginx日誌解析入庫
bin sh 獲取nigin日誌 log path usr local nginx logs access.log cat log path while read line do 判斷該條資訊是否為我們需要 if line eleid then 替換中 和 的轉譯符 line line echo o...