2008-09-21 4 views
1

사용이 끝나면 항상 Syslog를 닫아야한다는 것이 절대적으로 중요합니까? 그렇게하지 않으면 커다란 부정적인 영향이 있습니까?Ruby - Syslog가 닫히는 지 확인하십시오

분명히해야 할 필요가있는 것으로 판명되면 어떻게해야할까요? 내 클래스 생성자에서 시스템 로그를 열어 그리고 난 루비 클래스 소멸자를 할 수있는 방법이 표시되지 않으며, 현재 일이 닮은 있습니다

class Foo 
    def initialize 
    @@log = Syslog.open("foo") 
    end 
end 

나는 즉시 장소를 볼 수 없습니다를 어디 Syslog.close 전화 그래야하지만 뭘 추천 해?

답변

2

open 메소드는 블록을 허용합니다. 같은 것을 할 :

class Foo 
    def do_something 
    Syslog.open do 
     # work with the syslog here 
    end 
    end 
end 
+0

'do_something'메서드를 호출하면 syslog를 한 번 열어 필요한만큼 많이 사용하고 닫는 것보다 훨씬 더 비쌉니까? –

1

당신은 클래스 변수로 여는 것처럼 보이는 ... 그래서 적절한 방법이해야 할 것 ...

class Foo 
    def initialize 
    @@log = Syslog.open("foo") 
    end 

    def Foo.finalize(id) 
    @@log.close if @@log 
    end 
end 

을이 necesssarily 아니지만 예측 가능하거나 지원됩니다. 자신이하는 방식대로 코드를 유지하려는 경우이를 수행하는 방법입니다.

관련 문제