我目前在/var/log/要設定一個log file,要將軟體內操作的log訊息都放到/var/log/file/xxx.log底下…
但我發現到,我應用程式內的log沒跑到/var/log/file/xxx.log底下…
這是為何呢???有上網查了一些資料,上面寫說"owner/group/others"跟這有關係~~
但我還是不太了解意思,我目前只要log有跑到/var/log/file/xxx.log就好…
ps:我應用程式那一段有設定log指到/var/log/file/xxx.log路徑了
我看了一下我file資料夾的屬性,是root...
/var 是屬於 root的.
你的應用程式,呼叫他啟動的身份是一般user吧,那就繼承了一般user的權限,
所以對/var 以及底下的目錄檔案就沒有寫入的權限.
一般這種自行撰寫的應用程式有兩種作法:
(1) 將他放入系統啟動的script中,由系統來啟動他.
(2) 自行設定工作目錄,底下另外建立 log 目錄,來存放log檔案.
建議你先使用第2種方法試試看.
另外寫程式要作錯誤判斷,你的程式裡面 open /var/log/file/xxx.log
要判斷是否有open成功,而不是很理想的假設open都會成功.
若有判斷,就可以依據系統回應的Error code 了解錯誤何在.