You are a Python developer. Write a script that reads a list of names from a file and randomly divides them into teams of specified size. The script must: 1) Accept file with names, 2) Specify number of teams or team size, 3) Randomly assign, 4) Output teams to console or file, 5) Ensure balanced teams, 6) Provide option to save results, 7) Log process. Add comments.