Seperti yang kita ketahui, pencatatan (logging) di UiPath ditangani oleh Orchestrator. Tentu saja, tidak semua orang lebih suka metode ini. Beberapa orang lebih memilih metode yang sederhana dan standar, yaitu menggunakan file lokal seperti file teks atau Excel.
Dalam artikel ini, kita akan mencoba membuat mekanisme pencatatan lokal sederhana menggunakan file Excel sebagai media penyimpanan, yang dapat digunakan atau dipanggil oleh workflow lain.
Buka UiPath Studio, buat Proses baru. Ketikkan Nama, Lokasi, Deskripsi, dan lain-lain. Klik Create.
Setelah halaman utama muncul, tambahkan file workflow baru dengan mengklik [New > Sequence] pada menu utama di bagian atas.
Ketik "Write Log" sebagai Nama, lalu klik Create.
Dalam workflow "Write Log" ini, proses pencatatan log akan dilakukan. Workflow ini akan dipanggil atau digunakan oleh workflow Main.
Langkah pertama, buat 2 variabel baru dengan membuka tab Variables di bagian bawah tengah UiPath Studio:
dtLog, tipe data DataTable. Variabel ini akan digunakan untuk menyimpan informasi log sebelum disimpan ke dalam file Excel.
logFilename, tipe data String. Variabel ini berisi nama file dan lokasi Excel tempat menyimpan informasi log. Mekanisme file log ini adalah 1 file per hari dengan format nama: “Log_[Tahun][Bulan][Hari].xlsx”.
Buat 4 argumen dengan arah "In" sebagai parameter yang akan dikirim dari workflow pemanggil:
in_level, tipe argumen String. Berisi informasi tentang level log seperti debug, error, informasi, dll.
in_workflowFilename, tipe argumen String. Berisi informasi tentang nama file workflow pemanggil, untuk membantu mengetahui dari mana log ini ditulis.
in_description, tipe argumen String. Berisi pesan yang akan disimpan dalam log, seperti pesan error, pesan exception, pesan debug, dll.
in_logFolder, tipe argumen String. Berisi lokasi folder tempat file log ini akan disimpan.
Mari kita tambahkan aktivitas pertama ke dalam workflow, yaitu [Build Data Table].
Atur variabel dtLog sebagai Output DataTable.
Klik tombol [DataTable…] untuk mendefinisikan kolom-kolom yang akan digunakan.
Hapus semua kolom default, kemudian tambahkan kolom-kolom berikut:
Time (Tipe Data: String)
Level (Tipe Data: String)
Workflow Name (Tipe Data: String)
Message (Tipe Data: String)
Tambahkan aktivitas baru, yaitu [Add Data Row].
Atur variabel dtLog sebagai Input DataTable. Kemudian, atur nilai Input ArrayRow dengan nilai berikut:
{ Now.ToString("dd/MM/yyyy HH:mm:ss"), in_level, in_workflowFilename, in_description }
Tambahkan aktivitas baru, yaitu [Assign], untuk mendefinisikan nama file log Excel.
Karena kita menggunakan format penamaan “Log_[Tahun][Bulan][Hari].xlsx”, atur nilai berikut sebagai nilai untuk variabel logFilename:
string.Concat(in_logFolder, "\Log_", Now.ToString("yyyyMMdd"), ".xlsx")
Tambahkan aktivitas baru, yaitu [If], untuk memeriksa apakah file log Excel hari ini sudah ada atau belum.
Gunakan kondisi berikut:
File.Exists(logFilename)
Jika file Excel hari ini sudah ada, tambahkan aktivitas baru, yaitu [Append Range] dari: System > File > Workbook > Append Range.
Atur nilai properti berikut:
Workbook path = logFilename
SheetName = “Log”
DataTable = dtLog
Workbook > Write Range.
Atur nilai properti berikut:
Workbook path = logFilename
SheetName = “Log”
DataTable = dtLog
AddHeaders = dicentang
Sampai sini, proses untuk menyimpan/m menulis log sudah selesai. Selanjutnya, kembali ke workflow Main.
Dalam workflow Main, tambahkan aktivitas baru, yaitu [Invoke Workflow File].
Ketik "Write Log.xaml" sebagai nilai WorkflowFileName. Kita memanggil workflow ini untuk proses logging, yang dalam hal ini adalah untuk memberi tahu bahwa proses telah dimulai.
Atau, kita bisa melakukan cara lain dengan menyeret dan melepaskan file “Write Log.xaml” dari tab Project ke dalam workflow.
Klik tombol [Import Arguments] untuk mengetik nilai-nilai yang akan disimpan dalam file log, lalu klik OK.
Ubah DisplayName aktivitas ini menjadi “Write log – Start Workflow” agar lebih informatif dan berbeda dari aktivitas [Invoke Workflow File] lainnya.
Tambahkan aktivitas baru, yaitu [Delay].
Atur nilai Duration menjadi 00:00:05 (5 detik). Aktivitas [Delay] ini digunakan untuk mensimulasikan bahwa setelah aktivitas sebelumnya (menulis log) dieksekusi, robot menjalankan proses lain yang memerlukan waktu 5 detik.
Tambahkan aktivitas baru [Invoke Workflow File] lagi, seperti sebelumnya. Namun kali ini, kita menggunakannya untuk memberi tahu bahwa proses telah selesai.
Atau, Anda bisa Copy-Paste dari aktivitas [Invoke Workflow File] sebelumnya.
Jangan lupa untuk mengubah DisplayName menjadi “Write Log – End Workflow”.
Klik tombol [Import Arguments] lagi untuk mengetik nilai-nilai yang akan disimpan dalam file log. Semua nilai sama seperti sebelumnya kecuali untuk “in_description”, ketik “Process finished” sebagai nilai.
Proses pembuatan workflow sudah selesai. Selanjutnya, jalankan workflow ini dan lihat hasilnya dengan mengklik tombol [Debug File] di menu utama atau dengan menekan F5 dari keyboard.
Hasilnya seharusnya seperti ini:
Selain metode ini, yaitu membuat file workflow baru "Write Log" dan memanggilnya dari workflow Main atau workflow lainnya, ada metode lain untuk melakukan proses pencatatan ini. Kita bisa membuat "Write Log" sebagai Library (komponen yang dapat digunakan kembali) dalam proyek UiPath terpisah, kemudian menambahkan paket output dari proyek ini ke proyek utama kita melalui Manage Packages. Setelah diinstal, "Write Log" akan dikenali sebagai aktivitas reguler. Kita bisa menambahkannya atau menyeret dan melepaskannya ke dalam workflow kita, mengatur nilai properti, dan seterusnya.
Proyek Library (komponen yang dapat digunakan kembali) akan dibahas dalam artikel lain. Tetap pantau!
Comments