A Generalized Log-Law Formulation For A Wide Range Of Boundary Roughness Conditions Encountered In Streams