• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ذخیره لاگ در بانک اطلاعاتی
#1
سلام و خسته نباشید.
میخوام قسمتی از سایت را برای مدیریت لاگ ها قرار بدم. به این صورت که اگر کاربر جدیدی ایجاد شد و یا مطلبی ویرایش و یا ساخته بشه در قسمت مدیریت لاگ ها جزییات را مشاهده کرد.
کمی راهنمایی میکنید فیلدهای جدول و ساختار برنامه نویسیش چگونه هست.
  پاسخ
تشکر شده توسط :
#2
من شخصا تا حالا همچین چیزی درست نکردم ولی فکر می کنم ساختار خیلی پیچیده ای نداشته باشه.Big Grin
اگه توی دیتابیس ذخیره می کنی باید یک فیلد داشته باشی با نام type و نوع لاگ رو توش بریزی. مثلا post-new یا user-new یا post-edit و یا هرچیز دیگه ای همراه با فیلدهای دیگه ای که لازم داری مثل ای دی یا نام کاربری کاربر و بعدا اون ها رو جمله بندی شده به مدیر و یا هرجای دیگه نشون بدی و جمله ها رو در زمان نمایش دادن بسازی اما راه ساده تری هم هست اینه که در زمان انجام یک اتفاق مثل ایجاد شدن پست جدید لاگ رو بسازی و ذخیره کنی ( توی دیتایبیس و یا یک فایل).
راستی همیشه تاریخ رو هم ذخیره کن.
حالا نمیدونم درست متوجه سوالت شدم یا نه؟؟؟؟ HuhConfusedTongue
  پاسخ
تشکر شده توسط :
#3
id,time,subject,title, msg,ip,status,user_id
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : webnevesht AlirezaHS
#4
باید رویدادها رو از قبل مشخص کنی مثلا:
ایجاد کاربر
ورود کاربر
خروج کاربر
درج مطلب
ویرایش مطلب
و ....
بعد می تونی این ها رو تو یه جدول بزاری و آی دی شونو به عنوان اتفاق توی لاگ ذخیره کنی یا مستقیم خودشونو توی لاگ ثبت کنی
اطلاعات اضافه هم لازم داری
آی دی کاربر، آی پی کاربر، اطلاعات تاریخ و زمان ، ای دی نتیجه عملیات (مثلا در مورد مطلب آی دی مطلبی که درج یا ویرایش یا حذف شده)
محل ذخیره می تونه یه فایل باشه یا یک جدول توی دیتابیس
کد نوسی هم باید در کنار ثبت هر عملیات صورت بگیره، مثلا وقتی یه مطلب درج میشه یک اینسرت توی جدول مطالب و یک اینسرت هم بلافاصله توی لاگ اتفاق بیافته، که اگه بخوای مطمئن باشی که در دیتابیس هردو همزمان انجام میشه یا نمیشه باید هر دو دستور را یک تراکنش (transaction) در نظر بگیری و از قوانین تراکنش پیروی کنی.....
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان