Can ERPNext log some operations?

When I change the prices of Price List Item, I need log these operations.
Does erpnext have logger for specific doctype?

maybe I should use hooks? something like this?

doc_events = {
	"Item Price": {
		"on_update": ""
	}
}

but it seems not right. I need to log price_before and price_after.

You can hook to validate, you will get old values from db.

And… How can I get both old value and new value at one time?

you will get both values on validate.

How can get before and after values?

before_value: use frappe.db,get_value funciton
after values: you can directly access from current obj, most likely doc.fieldname

Thanks !!