The conventional wisdom is that logfiles should switch every 15 - 20 minutes. Some people prefer to have their logs switch more frequently, some like less frequently. My rule of thumb is that the logfiles should be large enough so you don't see "Checkpoint not complete" in your alert.log during periods of heavy activity.
It totally depends upon the activity of the database. Log file contains the redo generated/changes that were made to the database. I mean during the busy hours it will be switching faster than off peak hours, as it fills quickly in business hours. 30 Minutes is reasonable time for log switches. Its not again hard and fast rule.