JMeter script 1: Cách đẩy thông tin vào log

Đây là bài đầu tiên trong loạt bài về cách viết JMeter script. JMeter script dùng để viết custom code để phục vụ các mục đích mà JMeter UI element không support, bất cứ chỗ nào có chứ JSR223 thì mình đều có thể viết code groovy vào đó.

I. Log trên JMeter

Để open log, bạn chọn vào icon warning.

Thông thường default của JMeter sẽ log thông tin log level: INFO

Nếu bạn muốn thấy nhiều thông tin hơn, bạn chọn vào option ALL.

JMeter dùng thư viện log4j2 để thực hiện log, bạn có thể config bằng tay ở file \bin\log4j2.xml

Để clear log, bạn ấn vào icon Clear All

II. Cách log thông tin

Trong các element JSR223, đều có 1 object log để dùng luôn, không cần phải khởi tạo object thì mới log được, khá là tiện.

Mục đích của log để view thông tin dưới dạng text, như vậy chúng ta có thể xác định được các dòng code đã chạy đúng chưa. Cách log đơn giản như sau:

log.error("JSR223 Sampler : error")
log.warn("JSR223 Sampler : warn")
log.info("JSR223 Sampler : info")
log.debug("JSR223 Sampler : debug")
log.trace("JSR223 Sampler : trace")
  • Vì log level của mình đang để là INFO, nên mình sẽ chỉ nhìn thấy thông tin của Error, Warning, Info. Các thông tin log loại Debug, Trace mình sẽ không nhìn thấy.

Và nếu có log ERROR thì sẽ hiện thị số error trên UI.

Câu hỏi đặt ra là:

  • Vậy thì mình sẽ dùng log level nào?
  • Tốt nhất là dùng INFO, đừng dùng các loại khác vì bạn muốn check xem các object đang chứa thông tin gì chứ ko phải để cảnh báo (Error, Warning), cũng không phải để debug (Debug, Trace).

Lưu ý, thông tin để log nó là dạng text hoặc number, muốn log object thì nên đảm bảo object đó có override toString() nhé.

Cách log thông tin có sử dụng parameter.

def user = "something"
log.info("user : {}", user)

Bạn sẽ dùng {} để làm placeholder cho các parameter. Bạn có bao nhiêu parameter thì sẽ điền bấy nhiêu {}.

def name = "giangtester"
def age = 32
log.info("name={}, age={}", name, age)
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments