First and foremost if this is a production database look for a proper downtime window.
Also attempt a database backup before trying out anything, but that may fail again.
as a first step you can try this ;
execute the following command
use <databasename>
go
This will change the database context, then execute
sp_helpfile
go
Then note down the location of the log file from the sp_helpfile output
Then search if the file exists physically in the file system.
if the file exists than you can try detaching the database, you will still get an error during detach but the database will be detached.
to be on the safer side you can also backup the database files after they are detached.
and then you can attempt attachign the database files again.
Hope you do not have to go through the service restart to resolve the issue.
Good Luck.