#ifdef LOG_SHOW_MODAL
# define LOG_METHOD NSLog(@"%s", __func__)
# define LOG_CMETHOD NSLog(@"===%@/%@===", NSStringFromClass([self class]), NSStringFromSelector(_cmd))
# define LOG_CMETHODBEGIN NSLog(@"+++%s/(%d) come in+++", __func__, __LINE__)
# define LOG_CMETHODEND NSLog(@"---%s/(%d) come out---", __func__, __LINE__)
# define LOG_CSTRVALUE(KEY,VALUE) NSLog(@"***%@/%@ %@ = %@***",NSStringFromClass([self class]), NSStringFromSelector(_cmd),KEY,VALUE)
# define LOG_CINTVALUE(KEY,VALUE) NSLog(@"###%@/%@ %@ = %d###",NSStringFromClass([self class]), NSStringFromSelector(_cmd),KEY,VALUE)
# define LOG_CFLOATVALUE(KEY,VALUE) NSLog(@"###%@/%@ %@ = %f###",NSStringFromClass([self class]), NSStringFromSelector(_cmd),KEY,VALUE)
# define LOG_CINFOVALUE(KEY,VALUE) NSLog(@"***%@/%@ %@ = %@***",NSStringFromClass([self class]), NSStringFromSelector(_cmd),KEY,VALUE)
# define LOG_CINFO(A) NSLog(@"%s(%d): \n***INFO= %@***", __func__, __LINE__,A)
# define LOG_SUBVIEWS(A) NSLog(@"%@/%@~~~subviews =~~~\n %@",NSStringFromClass([self class]), NSStringFromSelector(_cmd),[A subviews])
# define LOG_CERR(A) NSLog(@"%s(%d): \n###error= %@###",__func__, __LINE__,A)
# define MyRetainCount(name,ob) { NSLog(@"%@ retainCount = %d\n%s(%d):",name,[ob retainCount],__func__, __LINE__);}
#else
# define LOG_METHOD
# define LOG_CMETHOD
# define LOG_CMETHODBEGIN
# define LOG_CMETHODEND
# define LOG_CSTRVALUE(KEY,VALUE)
# define LOG_CINTVALUE(KEY,VALUE)
# define LOG_CFLOATVALUE(KEY,VALUE)
# define LOG_CINFO(A)
# define LOG_CINFOVALUE(KEY,VALUE)
# define LOG_SUBVIEWS(A)
# define LOG_CERR(A)
#define MyRetainCount(name,ob)
#endif