Well conceived. Lots of sound programming concepts. Conceptually helpful to have meaningful failure as well. See how the tableone package provides feedback if a function attribute calls a variable that is not present in the data table.
This is a good idea, but R CMD CHECK complains that a package shouldn't change the search path. So with this code the package probably wouldn't make it to CRAN.
If you want to avoid masking all the dplyr functions and log selectively you could use my package mmpipe and define an adequate operator, here is a quick implementation :
# devtools::install_github("moodymudskipper/mmpipe")
library(dplyr)
library(mmpipe)
# we define a pipe that will replace the function used on the rhs by its
# equivalent in the tidylog package
mmpipe::add_pipe(`%tlog>%`, {
# equivalent to x <- list(my_fun = quote(tidlog::my_fun))
x <- setNames(list(call("::",quote(tidylog),body[[1]])),as.character(body[[1]]))
# use x to substitute the original fun with the tidylog one
eval(substitute(substitute(body,x),list(body=body)))}
)