본관은 밀양密陽, 자字는 사중士重이고, 호號는 동계東溪 또는 설정雪汀이다. 1648년(인조 26) 서울에서 태어났다. 1673년(현종 14) 생원시에 합격하고, 1683년(숙종 9) 증광대과에 병과로 급제했다. 이후 사헌부정언·지평, 홍문관수찬·교리·부응교, 사간원사간, 세자시강원보덕 등을 지냈다.
1694년 인현왕후가 복위된 뒤에 박정 등과 더불어 장희빈을 보호하다 귀양을 갔다. 1696년엔 황해도 암행어사로 발탁돼 임무를 수행했고, 이때 쓴 《해서암행일기》는 보물 제574호로 지정됐다. 그 외에 회양 부사와 영광 군수를 역임했다. 문집으로 《동계집》이 있으며, 1717년(숙종 43)에 사망했다.