OnMouseDown how to call yield?

I want after few sec that my GameLog is erazed so it’s not at screen all the time

if you think it’s too simplified I’ll post whole code

public class PickUpObject : MonoBehaviour {
	private GameObject Player ;
	public Depth0 Depth0Script;

	void Start () {
		Player = GameObject.Find("Camera");
		Depth0Script = Player.GetComponent("Depth0") as Depth0;
}

void OnMouseDown () {
			Depth0Script.GameLogs = ("humh I need tools for this");
			Depth0Script.GameLogTimerF();
}

public class Depth0 : MonoBehaviour {
	public string GameLogs = "" ;
	private float GameLogTimerf = 1;
	public IEnumerator GameLogTimerF (){
		GameLogs = "";
		yield return new WaitForSeconds(GameLogTimerf);
	}
}

now If I just change 2 lines here it works but I want it to wait too

    	public Void GameLogTimerF (){
    		GameLogs = "";
    		//yield return new WaitForSeconds(GameLogTimerf);
    	}

what am I doing wrong why does it not want to call this function?

how do I call it?

StartCoroutine(Depth0Script.GameLogTimerF());