PDA

View Full Version : ++ ایجاد Log از عملیات ها؟؟؟



kkkaka
سه شنبه 03 مرداد 1391, 16:03 عصر
سلام به همه :چشمک:
من قصد دارم از تمام عملیات انجام شده بوسلیه کاربرام یه گزارش تهیه کنم!:شیطان:
گزارش قراره در قالب یه فایل تکست در یک جدول با مشخصات تاریخ و نام کاربری ذخیره بشه (یعنی تو دیتابیس یه جدول به نام گزارش باشه که هر روز یه رکورد جدید با فیلد نام کاربر ،تاریخ و فایل Log مقدار دهی بشه).
سوال بنده اینه که:اشتباه:
چطور باید از تمام رویداد های برنامه با مقدار هاشون گزارش بگیرم؟؟؟؟:متفکر:
پیشاپیش ممنونم از راهنمایی تون:قلب::بوس:...

mehdy.programmer
سه شنبه 03 مرداد 1391, 16:27 عصر
سوالت خیلی کلی یه! شما دقیقتر بگید که می خواید چه چیز هایی رو لاگ کنید تا بهتر راهنمایی بشه!

Y_Safaiee
سه شنبه 03 مرداد 1391, 16:35 عصر
با سلام خدمت شما دوست عزیز

بیشتر برنامه ها حتی قویترین برنامه هام همه بخش ها رو لاگ نمیکنن و در بعضی موارد اصلا مهم نیست,لاگ کردن رویداد برای این قسمت ها مهمه :

1.زمان ورود و خروج کاربران
2.وقتهایی که اپراتور آیتم یا اطلاعاتی رو حذف / ویرایش میکنه
3.وقتهایی که یه رویداد مهم اتفاق میفته مثلا فروش یا خرید
4.وقتی کاربر به بخش های مهمی مثه صندوق و ... میره
5.برای نشون دادن آخرین کسایی که سیستمو ترک کردن و ...

اما راحت ترین کار اینه که روال بنویسید و هربار نام کاربری با رویداد انجام شده رو بهش بفرستین تا خودش فایل متنی رو به صورت Append باز کنه و اول تاریخو و ساعتو درج کنه بعد اپراتور و در انتها رویدادی که رخ داده.

موفق باشین
بایت بایت

fjm11100
سه شنبه 03 مرداد 1391, 16:36 عصر
خب مگه کدهای برنامه را خودت ننوشتی؟!! هرجا کاربر کاری کرد در طی کدها نوع عملیات و مقادیر را ثبت کن

مرتضی تقدمی
سه شنبه 03 مرداد 1391, 16:41 عصر
سلام
یه سری لاگ ها رو خودتون باید دستی دربانک ثبت کنید و یک سری دیگه رو هم می تونید به خود بانک اطلاعاتی واگذار کنید.
برای مورد اول می تونید روال هایی ایجاد و از اونا استفاده کنید. برای مورد دوم هم می تونید از تریگر ها روی جداول استفاده کنید که به محض انجام هر عملی روی جدول, رویداد مورد نظر در جدول لاگ ها ثبت بشه.
موفق باشید

kkkaka
سه شنبه 03 مرداد 1391, 16:50 عصر
با سلام خدمت شما دوست عزیز

بیشتر برنامه ها حتی قویترین برنامه هام همه بخش ها رو لاگ نمیکنن و در بعضی موارد اصلا مهم نیست,لاگ کردن رویداد برای این قسمت ها مهمه :

1.زمان ورود و خروج کاربران
2.وقتهایی که اپراتور آیتم یا اطلاعاتی رو حذف / ویرایش میکنه
3.وقتهایی که یه رویداد مهم اتفاق میفته مثلا فروش یا خرید
4.وقتی کاربر به بخش های مهمی مثه صندوق و ... میره
5.برای نشون دادن آخرین کسایی که سیستمو ترک کردن و ...

اما راحت ترین کار اینه که روال بنویسید و هربار نام کاربری با رویداد انجام شده رو بهش بفرستین تا خودش فایل متنی رو به صورت Append باز کنه و اول تاریخو و ساعتو درج کنه بعد اپراتور و در انتها رویدادی که رخ داده.

موفق باشین
بایت بایت

عذر میخوام اگه امکان داره یکم راجع به Append بیشتر توضیح بدین.

Y_Safaiee
سه شنبه 03 مرداد 1391, 17:11 عصر
با سلام مجدد

خدمت شما دوست عزیز



using System.IO;
using System.Globalization;
namespace sample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btn_save_Click(object sender, EventArgs e)
{
LogSave("یونس", "وارد شد.");
}

private void LogSave(string operators, string events)
{
PersianCalendar pc=new PersianCalendar();
int year=pc.GetYear(DateTime.Now );
int month=pc.GetMonth(DateTime.Now );
int day=pc.GetDayOfMonth (DateTime.Now );
string date=string.Format("{0}/{1}/{2} - {3}" , year,month,day,DateTime.Now.ToShortTimeString());

File.AppendAllText("c:\\log.txt", date + "\t\t" + operators + "\t\t" + events + Environment.NewLine);
}
}
}



موفق باشین
بایت بایت

hakim22
سه شنبه 03 مرداد 1391, 17:28 عصر
اگر برنامه از شی گرایی استفاده کرده باشه
مثلا کاربرها رو به صورت یک شی تعریف کرده باشید می توانید برای این اشیا رویداد تعریف کنید و بعد برای رویدادها کد نویسی کنید
دیگه لازم نیست درون سورس جاهای مختلف کد نویسی کنید.
مثلا رویداد UsereDelete رو تعریف می کنید و درون اون کد نویسی می کنید .
اینکه چگونه رویداد تعریف میشه رو باید از کتابهای برنامه نویسی پیدا کنید.