2011-12-15 1 views
0

2 FileSystemWatcher를 인스턴스화했습니다. 이제 두 파일 시스템 워치를 동기화하는 것이 좋습니다. (형식의 변화를 참고 다른 FSM의 반대를 의미)2 FileSystemWatcher의 출력을 동기화하는 방법

Dec 15 15:28:19,8167876|: INFO |Web server call start_device_discovery() for: 10.191.20.0 
Dec 15 15:28:19,8167876|: START |  Device discovery started for: 10.191.20.0 
Dec 15 15:28:19,9261472|: INFO |Discovery is active for: NET_10.191.20.0_24 
Dec 15 15:28:20,1136208|: INFO |Device discovered from NET_10.191.20.0_24 BaseModelName: "TASKalfa 250ci", ModelName: "TASKalfa 250ci", MoName: "TASKalfa 250ci" 
Dec 15 15:28:20,3948312|: INFO |Device discovered from NET_10.191.20.0_24 BaseModelName: "FS-C2626MFP", ModelName: "FS-C2626MFP", MoName: "FS-C2626MFP" 
Dec 15 15:28:20,4260768|: INFO |Device discovered from NET_10.191.20.0_24 BaseModelName: "FS-3640MFP", ModelName: "FS-3640MFP", MoName: "FS-3640MFP" 
Dec 15 15:28:20,5198136|: INFO |Device discovered from NET_10.191.20.0_24 BaseModelName: "TASKalfa 7550ci", ModelName: "TASKalfa 7550ci", MoName: "TASKalfa 7550ci" 
Dec 15 15:28:20,6135504|: INFO |Device discovered from NET_10.191.20.0_24 BaseModelName: "FS-C2626MFP", ModelName: "FS-C2626MFP", MoName: "FS-C2626MFP" 
2011-12-15 15:28:19,785| INFO | NetworkList - setStartDiscovery - Starting point 
2011-12-15 15:28:19,785| INFO | NetActionProvider - performAction - JYR 
2011-12-15 15:28:19,785| INFO | NetActionProvider - ATN_DISCOVERY_START 
2011-12-15 15:28:19,785| INFO | SNMPDiscovery - Starting discovery for NET_10.191.20.0_24. 

이 친절하게 자신의 시간 자세히 보면 지금 여기로 로그 출력의 예입니다. 28 : 15 문 28 : 19,8167876ms은 처음 15 전에 출력 된 어떻게 든이이 전문가를 동기화하려고 할 일은하고 싶은 무엇

Dec 15 15:28:19,8167876|: INFO |Web server call start_device_discovery() for: 10.191.20.0 
2011-12-15 15:28:19,785| INFO | NetworkList - setStartDiscovery - Starting point 

19,785ms. 어떤 아이디어? 미리 감사드립니다.

+0

파일에 글을 쓰는 코드를 보여줍니다. DateTime 값을 지정하는 곳에서 뭔가 잘못되었을 수도 있습니다. – sll

+0

응? 귀하의 질문은 마치 하나의 파일에있는 것처럼 선을 보여줍니다. 그러나, 아래의 귀하의 의견은 그들이 실제로 두 개의 다른 파일에서 나타냅니다. 그래서 * 어떻게해야 순서가 어긋날 수 있습니까? 그들을 병합하려고 시도하고 있습니까? 그리고 당신이 말하는이 "자바 클라이언트"사업은 무엇입니까? **이 질문은 그대로 상세하게 부족합니다. ** –

답변

0

로그 액세스를 동기화 할 수 있습니다. 이렇게하려면 동기화 할 간단한 개체가 필요하며 모든 FileSystemWatcher 이벤트 처리기에서 액세스 할 수 있습니다. 단순화를 위해 로거 객체를 사용할 수 있습니다 (단, remarks section here 읽어보기). FileSystemWatcher가 통보됩니다로 즉시 잠금 획득 :

private static void OnChanged(object source, FileSystemEventArgs e) { lock(MyLogger) { MyLogger.Log("something changed"); } } 

당신이 로거를 사용하는 모든 곳에서 잠 있는지 확인하십시오.

+0

문제는 이들이 다른 언어 (Java 클라이언트)와 (C# -webservice)로 기록 된 2 개의 다른 파일이라는 것입니다. –

+2

그런 다음 질문을 훨씬 더 구체적으로 업데이트해야합니다 당신의 설정에 대해. – Stephan