Batch Script - Ghi Nhật ký

Xin chào các bạn học lập trình! Hôm nay, chúng ta sẽ cùng nhau khám phá thế giới của Ghi Nhật ký trong Batch Script. Là người giáo viên máy tính gần gũi của bạn, tôi rất vui mừng được hướng dẫn các bạn qua chủ đề quan trọng này. tin tôi đi, một khi bạn thành thạo ghi nhật ký, bạn sẽ cảm thấy mình như một thám tử lập trình thực thụ, luôn đi trước một bước so với những lỗi nhỏ bé!

Batch Script - Logging

Ghi Nhật ký là gì?

Trước khi chúng ta đi vào chi tiết, hãy hiểu rõ ghi nhật ký là về điều gì. Hãy tưởng tượng bạn đang nướng một chiếc bánh (theo dõi tôi nhé, tôi PROMISE rằng điều này liên quan đến lập trình!). Bạn có lẽ sẽ ghi lại mỗi bước bạn thực hiện, phải không? Đó chính là essence của việc ghi nhật ký trong lập trình. Nó là cách để ghi lại những gì đang diễn ra trong script của bạn khi nó chạy.

Ghi nhật ký giúp bạn:

  1. Gỡ lỗi mã của bạn
  2. Theo dõi luồng của script
  3. Giám sát hiệu suất
  4. Ghi lại các sự kiện quan trọng

Bây giờ, hãy c rolled up our sleeves và bắt đầu lập mã!

Cú pháp

Trong lập trình Batch, ghi nhật ký chủ yếu được thực hiện bằng lệnh echo và chuyển hướng đầu ra. Dưới đây là cú pháp cơ bản:

echo [message] >> [log_file]

Hãy phân tích này:

  • echo: Lệnh này hiển thị tin nhắn.
  • [message]: Đây là điều bạn muốn ghi lại.
  • >>: Ký hiệu này chuyển hướng đầu ra vào một tệp, thêm vào cuối nếu tệp đã tồn tại.
  • [log_file]: Đây là tên tệp nhật ký của bạn.

Đơn giản phải không? Nhưng đợi đã, còn nhiều hơn nữa!

Phương pháp Ghi nhật ký

Dưới đây là bảng các phương pháp ghi nhật ký khác nhau bạn có thể sử dụng trong script Batch:

Phương pháp Cú pháp Mô tả
Thêm vào cuối echo [message] >> [log_file] Thêm tin nhắn vào cuối tệp nhật ký
Ghi đè tệp echo [message] > [log_file] Ghi đè tệp nhật ký bằng tin nhắn mới
Ghi theo ngày giờ echo %date% %time% [message] >> [log_file] Ghi với ngày và giờ
Ghi lỗi command 2>> [error_log] Chuyển hướng đầu ra lỗi vào tệp nhật ký riêng
Ghi chi tiết echo [detailed_message] >> [verbose_log] Ghi thông tin chi tiết

Ví dụ

Bây giờ, hãy nhìn qua một số ví dụ để thấy các phương pháp này trong hành động!

Ví dụ 1: Ghi nhật ký Cơ bản

@echo off
echo Bắt đầu script... >> log.txt
echo Thực hiện Task 1... >> log.txt
echo Task 1 hoàn thành. >> log.txt
echo Script kết thúc. >> log.txt

Trong ví dụ này, chúng ta đang tạo một nhật ký đơn giản về tiến độ của script. Mỗi lệnh echo thêm một dòng mới vào tệp log.txt.

Ví dụ 2: Ghi nhật ký với Ngày và Giờ

@echo off
echo %date% %time% - Script bắt đầu >> log.txt
echo %date% %time% - Thực hiện task quan trọng >> log.txt
ping localhost -n 5 > nul
echo %date% %time% - Task hoàn thành >> log.txt

Ở đây, chúng ta đang thêm ngày và giờ vào các mục nhật ký. Lệnh ping chỉ để mô phỏng một công việc đang được thực hiện.

Ví dụ 3: Ghi lỗi

@echo off
echo Bắt đầu script... >> log.txt
dir C:\NonExistentFolder 2>> error.log
echo Script kết thúc. >> log.txt

Trong ví dụ này, chúng ta đang chuyển hướng bất kỳ lỗi nào vào một tệp error.log riêng biệt. Cú pháp 2>> đặc biệt chuyển hướng đầu ra lỗi.

Ví dụ 4: Ghi chi tiết

@echo off
setlocal enabledelayedexpansion

set "verbose_mode=true"

:log
if "%verbose_mode%"=="true" (
echo %date% %time% - %* >> verbose.log
)
goto :eof

call :log Script bắt đầu
call :log Thực hiện Task 1
ping localhost -n 3 > nul
call :log Task 1 hoàn thành
call :log Script kết thúc

Ví dụ này giới thiệu một hàm ghi nhật ký tùy chỉnh chỉ ghi khi chế độ chi tiết được bật. Nó phức tạp hơn một chút, nhưng rất hữu ích cho việc gỡ lỗi chi tiết!

Đầu ra

Bây giờ, hãy xem xét đầu ra của tệp nhật ký sau khi chạy các script này.

log.txt (từ Ví dụ 1):

Bắt đầu script...
Thực hiện Task 1...
Task 1 hoàn thành.
Script kết thúc.

log.txt (từ Ví dụ 2):

Thứ 6 06/07/2023 15:30:45.32 - Script bắt đầu
Thứ 6 06/07/2023 15:30:45.32 - Thực hiện task quan trọng
Thứ 6 06/07/2023 15:30:50.48 - Task hoàn thành

error.log (từ Ví dụ 3):

File Not Found

verbose.log (từ Ví dụ 4):

Thứ 6 06/07/2023 15:35:12.18 - Script bắt đầu
Thứ 6 06/07/2023 15:35:12.18 - Thực hiện Task 1
Thứ 6 06/07/2023 15:35:15.33 - Task 1 hoàn thành
Thứ 6 06/07/2023 15:35:15.33 - Script kết thúc

Và thế là bạn đã trở thành một chuyên gia ghi nhật ký trong Batch script. Nhớ rằng, việc ghi nhật ký tốt như để lại những mẩu bánh mì trong mã của bạn - nó giúp bạn tìm lại con đường khi mọi thứ出错.

Khi chúng ta kết thúc, đây là một chút hài hước lập trình: Tại sao các lập trình viên thích chế độ tối? Vì ánh sáng thu hút ruồi!

Tiếp tục thực hành, luôn tò mò, và chúc bạn lập trình vui vẻ!

Credits: Image by storyset