Log Manager Agent là công cụ đơn giản hóa việc quản lý động và phân tán khả năng logging (logging facility) bằng cách cung cấp một giao diện người dùng cho phép các mức logging của mỗi thành phần trong JADE platform được thay đổi đúng lúc, nghĩa là bao gồm mọi thành phần đang được xử lý tại các node ở xa, gồm cả các thông điệp logging của một ứng dụng cụ thể. Bộ quản lý log khai thác khả năng ngầm của thư viện java.util.logging mà JADE logging dựa trên
đó. Mỗi lớp sử dụng một thể hiện của lớp Logger. Mỗi đối tượng Logger có thể được cấu hình ở một mức logging và có một tập các Handler. Việc cấu hình này là tĩnh bằng cách xác định file cấu hình java.util.logging tại thời điểm nạp hoặc động bằng cách sử dụng Log Manager Agent.
Hình 2.13: Giao diện của Introspector Agent khi đang giám sát agent DF.
Ví dụ, lệnh sau đây khởi động một container trong JADE và xác định một file cấu hình để khởi tạo hệ thống logging của JVM:
Đầu tiên ta chạy file runjade.bat với nội dung sau:
java -classpath
.;C:\jade\lib\jade.jar;C:\jade\lib\jadeTools.jar;C:\jade\lib\iiop.jar;C:\jade\lib\http.jar;C:\jade\lib\co mmons-codec\commons-codec-1.3.jar jade.Boot –gui
Sau đó, ta tạo file logging.properties với nội dung sau:
handlers = java.util.logging.ConsoleHandler .level = OFF
jade.core.messaging.level = FINEST
Đây là file cấu hình tuân theo định dạng chuẩn java.util.Properties. Xem tài liệu javadoc về lớp java.util.logging.LogManager để biết thông tin chi tiết về file cấu hình và định dạng của nó. Container đã được tạo trong JADE sẽ chỉ ghi lại các thông điệp log của hệ thống Messaging, cụ thể là mọi lớp trong gói jade.core.messaging.
Tạo file createLogFile.bat với nội dung: java -classpath
.;C:\jade\lib\jade.jar;C:\jade\lib\jadeTools.jar;C:\jade\lib\iiop.jar;C:\jade\lib\http.jar;C:\jade\lib\co mmons-codec\commons-codec-1.3.jar -Djava.util.logging.config.file=logging.properties
jade.Boot –container Tất cả các file được ở ổ C.
Chạy file runjade.bat, file createLogFile.bat. Sau khi container mới được tạo ra trên platform, khởi động Log Manager Agent trên container đó, ta thấy mức độ logging của container này đều được thiết lập là OFF và các handler đều được thiết lập là java.util.logging.ConsoleHandler:
Hình 2.14: Giao diện Log Manager Agent của Container-1