重构logging