new string implementation with logging support