2017-08-29 133 views
1

當你與某些URL參數運行SAS存儲過程(STP)如何防止SAS存儲過程來顯示日誌當用戶添加_debug =登錄網址

https://xxx.xxx.xxx/xxx?_program=yyy/yyy&aaa=aaa 

任何人都可以看到該日誌由在url參數中添加_debug=log

有沒有辦法阻止這種可能性?

我想隱藏我的用戶的日誌。
(不僅在發生錯誤時,該參考http://support.sas.com/kb/16/225.html

編輯:我忘了指定我正在尋找,不會影響其他STP,只有一個解決方案。

+0

您的鏈接提出以下建議:'一種方法爲t o修改「web.xml」文件併爲「DebugMask」添加一個值「0」。這將阻止顯示「顯示SAS日誌」按鈕。但是,即使它們在提交請求時指定了「_debug = log」,也會阻止所有用戶看到SAS日誌。「這是不切實際的嗎?它看起來像你想要的? – Joe

+0

@Joe我相信這是一個解決方案,但在我的情況下過於激進,因爲我不想在同一臺SAS服務器(來自同事或我自己)上影響其他STP。編寫我的問題時我沒有想到這一點,將編輯。謝謝! –

+0

在你的STP代碼中,你可以添加'%let debug =;'? – Quentin

回答

1

最簡單的方法是將PROC PRINTTO放入autoexec.sas中。這樣日誌就會從流媒體重定向到客戶端,直到您指定的地方。只要確保你有獨特的日誌文件名,或者你可能會遇到2個STP試圖寫入同一個文件的麻煩。

+0

抱歉,這不適用於STP。該文件是空的,您仍然可以在網絡上看到日誌。 –

+1

適合我。返回「PROC PRINTTO」的日誌被返回,但之後沒有任何內容。生成的文件具有低於該點的日誌。 – DomPazz

+0

我再次嘗試,並在URL中添加'&_debug = fields,log'時看到完整日誌。我做了什麼:我在我的STP的頂部插入了'proc printto print ='\\ xxx \ xx \ yyy.log'new; run;'。(STP不包含'%stpbegin'和'%stpend')。創建'yyy.log'文件,但是爲空,0kb ... –

1

如果您正在使用SAS Enterprise Guide中這些是我所經歷的步驟,拒絕顯示SAS日誌運行STP網站:

1)右鍵點擊修改存儲過程

2)進入 「提示」,並創建新的提示

3)設置在第一標籤值以這樣的:

Instead of Edit you'll be creating new

4)在第二個選項卡中選擇即時型「可變的」

5)點擊檢查默認值框和留空的默認值

define your _debug variable

現在,當一個用戶試圖運行從& _debug網絡存儲過程=登錄他們應該看到的錯誤而不是讓他們:

error

相關問題