توی این ویدیو قراره ببینیم چطور میشه داده‌هارو لاگ گرفت.
ایده پشت این کار اینه که فقط بهت نشون بدم چطور انجام میشه، چون می‌خوام از همین کد تو ویدیوی بعدی استفاده کنم.
توی ویدیوی بعدی
می‌خوایم درباره‌ی decoupling صحبت کنیم، یا حداقل یه دید کلی ازش بدم و یه مثال واقعی ببینیم،
و همین‌طور بررسی کنیم چرا و کی باید ازش استفاده کنیم.
خب یه کلاس به اسم File داریم، درسته؟
و این کلاس کلی متد باحال داره.
این کلاس داخل System.IO قرار داره.
IO یعنی Input Output.
و این یکی بهمون اجازه میده فایل بسازیم، کپی کنیم، حذف کنیم، جا‌به‌جا کنیم یا بازش کنیم.
خب،
خیلی هم عالیه.
و اینجا File قراره کار زیر رو برامون انجام بده.
قراره از AppendAllText استفاده کنیم.
می‌تونیم نسخه‌ی Async اون رو هم استفاده کنیم،
ولی اون یه‌کم پیچیده‌تر میشه چون باید از await و این چیزا استفاده کنیم، که Yannick قراره
وقتی به multithreading برسیم، حسابی عمیق‌تر توضیحش بده.
پس فعلاً ساده نگهش می‌داریم و از AppendAllText استفاده می‌کنیم.
این کار باعث میشه هر متنی که بهش می‌دیم به مسیر موردنظر اضافه بشه.
اول باید تصمیم بگیریم مسیرمون کجا باشه.
من خیلی ساده می‌گیرمش.
می‌گم داخل همون مسیر فعلی یه فایل log.txt بساز،
اگه وجود نداشت بسازش، اگه هم وجود داشت فقط متن جدید رو بهش اضافه کن.
حالا مثلاً می‌نویسم Hello World.
پس این خط کد یه فایل می‌سازه و متن Hello World رو داخلش می‌نویسه.
اسم فایل هم میشه log.txt.
خب، سریع اجراش کنیم و می‌بینیم چیزی روی کنسول نمایش داده نمیشه،
ولی اشکال نداره چون هدفمون کنسول نیست.
چیزی که برامون مهمه اتفاقیه که داخل برنامه‌مون می‌افته.
پس داخل app یه پوشه debug داریم با net8.
اونجا یه فایل log ساخته شده که ساعتش مثلاً 8:40:54 هست، یعنی همین الآن.
اگه بازش کنیم می‌بینیم داخلش نوشته Hello World.
حالا اگه برنامه رو دوباره اجرا کنیم، Hello World بعدی به دنبالش اضافه میشه.
اجراش کنیم، ببندیم، دوباره log رو باز کنیم.
می‌بینی نوشته Hello World, Hello World.
خب حالا می‌تونیم یه \n اینجا بذاریم
و یه plus هم اضافه کنیم، که باعث میشه یه line break بیفته.
پس اگه دوباره اجرا کنیم، Hello World سوممون تو خط بعدی میاد.
فایل log رو باز کنیم، اوه ندیدیم،
ولی اگه دوباره اجراش کنیم می‌بینیم که این بار واقعاً توی خط بعدی رفته.
دوباره اجرا کنیم برای اطمینان.
آره، حالا هر Hello World جدید میره توی خط بعد.
فقط دقت کن
که وقتی اول چند بار اجراش کرده بودیم هنوز line break نداشتیم.
ولی وقتی اون کاراکترها رو اضافه کردیم، از اون به بعد درست شد.
اگه حالا فایل log رو پاک کنم و از اول اجرا کنم،
دفعه‌ی اول یه Hello World می‌نویسه،
دفعه‌ی دوم یه Hello World دیگه تو خط بعد.
و حالا هردوش جدا هستن، مرتب و تمیز.
خب عالیه.
و این یعنی حالا
می‌تونیم هر خطایی یا هر دیتایی که خواستیم رو لاگ کنیم.
که خیلی هم به درد می‌خوره، مخصوصاً وقتی برنامه‌ت رو به کاربر تحویل می‌دی و یه ارور پیش میاد،
میتونی ازش بخوای اون فایل log رو برات بفرسته تا ببینی چی شده.
یا حتی می‌تونی داده‌ها رو مستقیماً توی یه cloud database ذخیره کنی
تا خطاهایی که کاربران ایجاد می‌کنن رو ببینی.
البته باید از نظر قوانین مربوط به حفاظت داده بررسیش کنی،
چون ممکنه تو کشورت یا کشور کاربران از نظر قانونی درست نباشه.
خب، اینم از این ویدیو.
توی ویدیوی بعدی
می‌خوام نشونت بدم چطور میشه مسیر فایل رو عوض کرد.
یعنی path جایی که فایل ذخیره میشه.
ربطی به inheritance نداره، فقط برای تکمیل کار خوبه بدونی چطور انجامش بدی.
خب، پس می‌بینمت توی ویدیوی بعدی.
باشه؟
خداحافظ تا بعد. ---