prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Add time to crontab log message
  When the cron parser is triggered it emits a debug log saying `Running crontab skills`.
  
  It would be more useful if it included the time that opsdroid thinks it is. This would help when trying to debug issues where skills are triggered at the wrong time due to opsdroid having the wrong timezone.
  
  The line which needs updating is [here](https://github.com/opsdroid/opsdroid/blob/master/opsdroid/parsers/crontab.py#L17). 
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `opsdroid/parsers/crontab.py`
  Content:
  ```
  1 """A helper function for parsing and executing crontab skills."""
  2 
  3 import asyncio
  4 import logging
  5 
  6 import arrow
  7 import pycron
  8 
  9 
  10 _LOGGER = logging.getLogger(__name__)
  11 
  12 
  13 async def parse_crontab(opsdroid):
  14     """Parse all crontab skills against the current time."""
  15     while opsdroid.eventloop.is_running():
  16         await asyncio.sleep(60 - arrow.now().time().second)
  17         _LOGGER.debug(_("Running crontab skills"))
  18         for skill in opsdroid.skills:
  19             for matcher in skill.matchers:
  20                 if "crontab" in matcher:
  21                     if matcher["timezone"] is not None:
  22                         timezone = matcher["timezone"]
  23                     else:
  24                         timezone = opsdroid.config.get("timezone", "UTC")
  25                     if pycron.is_now(matcher["crontab"],
  26                                      arrow.now(tz=timezone)):
  27                         await opsdroid.run_skill(skill,
  28                                                  skill.config,
  29                                                  None)
  30
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/opsdroid/parsers/crontab.py b/opsdroid/parsers/crontab.py
  --- a/opsdroid/parsers/crontab.py
  +++ b/opsdroid/parsers/crontab.py
  @@ -1,5 +1,5 @@
   """A helper function for parsing and executing crontab skills."""
  -
  +import time
   import asyncio
   import logging
   
  @@ -14,7 +14,7 @@
       """Parse all crontab skills against the current time."""
       while opsdroid.eventloop.is_running():
           await asyncio.sleep(60 - arrow.now().time().second)
  -        _LOGGER.debug(_("Running crontab skills"))
  +        _LOGGER.debug(_("Running crontab skills at %s "), time.asctime())
           for skill in opsdroid.skills:
               for matcher in skill.matchers:
                   if "crontab" in matcher:
  
verification_info: {"golden_diff": "diff --git a/opsdroid/parsers/crontab.py b/opsdroid/parsers/crontab.py\n--- a/opsdroid/parsers/crontab.py\n+++ b/opsdroid/parsers/crontab.py\n@@ -1,5 +1,5 @@\n \"\"\"A helper function for parsing and executing crontab skills.\"\"\"\n-\n+import time\n import asyncio\n import logging\n \n@@ -14,7 +14,7 @@\n     \"\"\"Parse all crontab skills against the current time.\"\"\"\n     while opsdroid.eventloop.is_running():\n         await asyncio.sleep(60 - arrow.now().time().second)\n-        _LOGGER.debug(_(\"Running crontab skills\"))\n+        _LOGGER.debug(_(\"Running crontab skills at %s \"), time.asctime())\n         for skill in opsdroid.skills:\n             for matcher in skill.matchers:\n                 if \"crontab\" in matcher:\n", "issue": "Add time to crontab log message\nWhen the cron parser is triggered it emits a debug log saying `Running crontab skills`.\r\n\r\nIt would be more useful if it included the time that opsdroid thinks it is. This would help when trying to debug issues where skills are triggered at the wrong time due to opsdroid having the wrong timezone.\r\n\r\nThe line which needs updating is [here](https://github.com/opsdroid/opsdroid/blob/master/opsdroid/parsers/crontab.py#L17). \n", "before_files": [{"content": "\"\"\"A helper function for parsing and executing crontab skills.\"\"\"\n\nimport asyncio\nimport logging\n\nimport arrow\nimport pycron\n\n\n_LOGGER = logging.getLogger(__name__)\n\n\nasync def parse_crontab(opsdroid):\n    \"\"\"Parse all crontab skills against the current time.\"\"\"\n    while opsdroid.eventloop.is_running():\n        await asyncio.sleep(60 - arrow.now().time().second)\n        _LOGGER.debug(_(\"Running crontab skills\"))\n        for skill in opsdroid.skills:\n            for matcher in skill.matchers:\n                if \"crontab\" in matcher:\n                    if matcher[\"timezone\"] is not None:\n                        timezone = matcher[\"timezone\"]\n                    else:\n                        timezone = opsdroid.config.get(\"timezone\", \"UTC\")\n                    if pycron.is_now(matcher[\"crontab\"],\n                                     arrow.now(tz=timezone)):\n                        await opsdroid.run_skill(skill,\n                                                 skill.config,\n                                                 None)\n", "path": "opsdroid/parsers/crontab.py"}], "after_files": [{"content": "\"\"\"A helper function for parsing and executing crontab skills.\"\"\"\nimport time\nimport asyncio\nimport logging\n\nimport arrow\nimport pycron\n\n\n_LOGGER = logging.getLogger(__name__)\n\n\nasync def parse_crontab(opsdroid):\n    \"\"\"Parse all crontab skills against the current time.\"\"\"\n    while opsdroid.eventloop.is_running():\n        await asyncio.sleep(60 - arrow.now().time().second)\n        _LOGGER.debug(_(\"Running crontab skills at %s \"), time.asctime())\n        for skill in opsdroid.skills:\n            for matcher in skill.matchers:\n                if \"crontab\" in matcher:\n                    if matcher[\"timezone\"] is not None:\n                        timezone = matcher[\"timezone\"]\n                    else:\n                        timezone = opsdroid.config.get(\"timezone\", \"UTC\")\n                    if pycron.is_now(matcher[\"crontab\"],\n                                     arrow.now(tz=timezone)):\n                        await opsdroid.run_skill(skill,\n                                                 skill.config,\n                                                 None)\n", "path": "opsdroid/parsers/crontab.py"}]}