update:
1.log function