SQL Server入庫日誌

2021-05-22 02:02:30 字數 2968 閱讀 1681

-- 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...