Is this a good practice of feature engineering?
1) Yes, it makes sense. Trying to create features manually will help the learners (i.e. models) to graspe more information from the raw data because the raw data is not always in a form that is amenable to learning, but you can always construct features from it that are. The feature you are adding are based on one feature. This is common. However, your learner, logistic regression, is sensitive to multi-collinearity. You need to be careful on which feature and how many features to add. Otherwise, you model may overfit. 

2) Since you are using a logistic regression, you can always use AIC or perform a statistical significance test, like chi-square test (testing the goodness of fit) before adding new structure, to decide whether the distribution of the response really is different with and without this structure. This is particularly useful when your data is scarce. Another way is to add penalty term to your model. For example, logistic lasso regression. 

3) Keep adding new features is not always a good idea. Be careful with the curse of high-dimensionality. When adding new feature, you are actually adding a new dimension on your data.  Naively, one might think that gathering
more features never hurts, since at worst they provide
no new information about the class. But in fact their benefits
may be outweighed by the curse of dimensionality. I hope Useful things to know about machine learning session6 could help.